Scraper API

Perplexity Scraper API: Collect Perplexity Answers

ProxyField's Perplexity scraper API sends your prompt to Perplexity and returns the Perplexity answer, for $1.50 per 1,000 successful results, from $1.00 at volume. You pay only for successful results; to start, contact sales.

Perplexity scraper API per 1,000 successful results

Entry

$1.50

Volume, from

$1.00

Billed on successful results only.

To get Perplexity answers with the sources they cite, you have three routes. Perplexity's own Agent API returns an answer with markers such as [1] and a search_results list with each source's URL, title and date, as JSON. A real browser on perplexity.ai, through a sticky residential IP, captures the answer and its source links as a person sees them, and you maintain the parser. ProxyField's API returns the Perplexity answer to each prompt, with no browser on your side.

Is Perplexity's official API enough? It is enough to build an app on Perplexity's models. It does not promise the answer that perplexity.ai shows a person: the API runs under the model and search settings you choose for your app, and the web answer also changes with country, time and wording. To monitor what Perplexity tells users about your brand, you need a scraper API or your own browser.

Features

What Perplexity data you get

A Perplexity answer has three parts worth tracking. Here is which route gives you each one, plus the fields you add yourself:

FieldWhat you use it forPerplexity Agent APIYour own browserProxyField Perplexity scraper API
Answer textwhich brands are named, in what order, and what is said about themyes: the message item, with [1]-style markersyes, parsed from the pageyes
Numbered sources: URL, title, datewhich sites Perplexity cites for your topicsyes: the search_results item (id, url, title, date, snippet)yes, the links in the answeryes: citations (position, title, URL, domain, snippet); the answer's [n] markers point to them
Suggested follow-up questionsthe next questions buyers are led to, as new prompts for your setnot in the response fields Perplexity documentsyes, parsed from the pageyes: related_questions
Prompt, run date, countrycomparing runs week by weekyou store themyou store themyou store them
Read moreShow less

The Agent API column follows Perplexity's Agent API documentation. ProxyField's API returns the answer as answer_text and as answer_markdown (with the [n] markers), citations, related_questions, the model name when the page shows one (model), and the answer's HTML when you ask for it.

Sample request and response

The API takes a POST to https://api.proxyfield.io/v1/perplexity with your API key in an Authorization: Bearer <api_key> header and a JSON body: prompt (up to 8,000 characters), country (the country the question is asked from) and include_html. One request is one prompt and returns that one answer. Parameter reference: API documentation.

Shell
# The request the Perplexity scraper API takes (access through Contact sales)
curl https://api.proxyfield.io/v1/perplexity \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Which European cities have low-cost public transport passes?", "country": "de"}'

Example response (shortened):

JSON
{
  "metadata": {"id": "req_9a5f13c7e08b2d64", "api": "perplexity", "status": "success", "billed": true},
  "model": null,
  "answer_markdown": "Several European cities offer low-cost passes:\n\n- **Vienna:** an annual pass at about one euro a day [1]\n- **Germany:** the Deutschlandticket covers local transport nationwide for a flat monthly price [2]",
  "citations": [
    {"position": 1, "title": "Annual pass - Vienna public transport", "url": "https://www.example-vienna-transport.at/annual-pass", "domain": "www.example-vienna-transport.at", "snippet": "The annual pass is valid on all lines in Vienna."},
    {"position": 2, "title": "Deutschlandticket explained", "url": "https://www.example-travel-germany.de/deutschlandticket", "domain": "www.example-travel-germany.de", "snippet": "One ticket for buses, trams and regional trains across Germany."}
  ],
  "related_questions": ["How much is the Deutschlandticket per month?"]
}

Three ways to scrape Perplexity answers with their sources

ItemPerplexity's Agent APIYour own browser through proxiesProxyField Perplexity scraper API
What you getmodel output for your app: "structured, source-cited responses", in Perplexity's wordswhatever the page shows: the answer, its numbered sources, the follow-upsthe Perplexity answer to your prompt
Matches what users seenot promised: the API runs under the settings you choose for your appyes, for the session and location you usethe answer a user of the web version sees
What you runAPI calls with a Perplexity API keya real browser (Playwright or similar), waiting for the answer to finish streaming, parsing the pageAPI calls; no browser on your side
What breakslittle: a documented APIyour parser, each time the interface changes; blocked IPs; sign-in promptsthe collection runs on our side, and failed requests are not billed
CostPerplexity's API pricingyour servers, plus residential proxies from $1.95/GB; Easy Trial 1 GB for $2.95$1.50 per 1,000 successful results, from $1.00; 200 prompts a day = 6,000 results = $9.00 a month
Fitsdevelopers building features on Perplexity's modelssmall, hands-on checks, by countrySEO, brand and content teams measuring answers every week
Read moreShow less

One answer is one sample. Perplexity's answers change with location, timing, wording and the sources found at that moment, so no single run shows "the" answer. Keep the prompt set and the country fixed per run, repeat each prompt, and read the trend.

Route 1: Perplexity's Agent API, answer and sources as JSON

Perplexity documents its developer API at docs.perplexity.ai and on its API platform page. One call to the Agent API endpoint, then two jq filters, give you the answer and its sources:

Shell
curl -s https://api.perplexity.ai/v1/agent \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"effort": "fast", "input": "best proxy provider for price monitoring"}' > answer.json

# the answer text, with markers such as [1][3]
jq -r '.output[] | select(.type == "message") | .content[0].text' answer.json

# the sources the markers point to: id, title, URL
jq -r '.output[] | select(.type == "search_results") | .results[] | "\(.id) \(.title) \(.url)"' answer.json

What to expect: the [1] in the answer is the source with "id": 1 in search_results. If model output for your own product is all you need, this is the right tool.

Route 2: your own browser through ProxyField proxies

A browser run needs one IP that stays the same while an answer streams, in the country you want to see. ProxyField residential proxies give sticky sessions from 30 s to 36 h, country, region and city targeting in 195+ countries, and HTTP, HTTPS and SOCKS5 on gate.proxyfield.io:7000. Read Perplexity's terms first: see "Perplexity's terms and what we collect" below.

This Playwright script opens a Perplexity search for one prompt, waits until the answer has stopped streaming, and prints the page text and the external links on it. It is a starting point: Perplexity's markup changes, so check what it returns before you rely on it.

Python
import time
from urllib.parse import quote_plus, urlparse
from playwright.sync_api import sync_playwright

PROMPT = "best proxy provider for price monitoring"

def wait_until_still(page, quiet_s=6, timeout_s=90):
    """The answer streams in; return the page text once it stops changing."""
    last, still_since, start = None, time.time(), time.time()
    while time.time() - start < timeout_s:
        text = page.inner_text("body")
        if text != last:
            last, still_since = text, time.time()
        elif time.time() - still_since >= quiet_s:
            return text
        time.sleep(1)
    raise TimeoutError(f"answer still streaming after {timeout_s} s")

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://gate.proxyfield.io:7000",
        "username": "<login>-country-us-city-new_york",
        "password": "<password>",
    })
    page = browser.new_page()
    page.goto("https://www.perplexity.ai/search?q=" + quote_plus(PROMPT))
    text = wait_until_still(page)
    links = page.eval_on_selector_all("a[href^='http']", "els => els.map(e => e.href)")
    sources = sorted({u for u in links if not urlparse(u).netloc.endswith("perplexity.ai")})
    print(text[:800])
    print(f"{len(sources)} source links:")
    print("\n".join(sources))
    browser.close()

What breaks on this route, and what to do:

  • The answer is still streaming A fixed wait cuts answers short; wait until the text stops changing, as the script does.
  • The IP changes mid-answer By default the gateway gives a new IP on every request, so use a sticky session. Session ID and session time in the username: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default) after the location, as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600.
  • Sources and follow-ups are mixed with the interface text The script gets the whole page; to split the answer, the sources and the follow-ups, parse the page's markup, and expect to update the parser when the interface changes.
  • A sign-in prompt or a check page appears instead of an answer Record the run as failed and leave it out of your counts.
  • Datacenter IPs get blocked Use residential IPs in the country you are measuring.

More settings: Playwright with ProxyField. Residential traffic costs $2.95/GB for 1 GB and falls to $1.95/GB from 1,000 GB, with no subscription; all purchases are final, and the traffic never expires.

Route 3: ProxyField's Perplexity scraper API

With the API, the work is 4 steps:

  1. List your prompts

    Write the questions your buyers type into Perplexity, in their words: "best tool for X", "X vs Y", "is X worth it".

  2. Send each prompt to the API: a POST to https://api.proxyfield.io/v1/perplexity with prompt and country, as in the sample above.

  3. Store each answer with the prompt, the date, the country and the sources it cites.

  4. Compare runs

    Count which brands each answer names, in what order, and which sites it cites; see how that changes from week to week.

The API has no scheduler of its own, so your script or tool repeats the runs, and brand matching is on your side: look for your brand in the answer and for your domain in citations. Sending many prompts in one call: a batch call takes up to 1,000, with a callback for each finished result. Running the same prompt from several countries: send it once per country; which countries the API accepts: the proxy pool's 195+ countries.

Pricing

Perplexity Scraper API pricing

The Perplexity scraper API costs $1.50 per 1,000 successful results, from $1.00 at volume; you pay only for successful results. The $1.00 price starts at 10,000 successful results in one purchase.

What counts as a successful result: an answer delivered to you. An answer that comes back with no text returns no_result and is not billed; blocked and timed-out requests are not billed either, and every response says whether it was billed.

What a month of answer tracking costs at the $1.50 entry price (30-day month, one successful result per prompt):

Perplexity scraper API per 1,000 successful results

Entry

$1.50

Volume, from

$1.00

Billed on successful results only.

WorkloadSuccessful results a monthCost at $1.50 per 1,000
300 prompts a weekabout 1,300about $1.95
200 prompts a day6,000$9.00
1,000 prompts a day30,000$45.00
5,000 prompts a day150,000$225.00

At the last two volumes, bought in one purchase, the $1.00 price applies: it starts at 10,000 results, and 150,000 results at $1.00 per 1,000 come to $150.00.

Prices are in US dollars; pay in USDT, BTC, ETH or 10 other coins. Balance for APIs: the same crypto balance as proxies, which never expires; there is no subscription or monthly fee. The APIs are paid from the shared balance, topped up from $2.95; there is no separate test volume.

Track your brand in Perplexity answers

Fix a list of buyer prompts, run it regularly, and record for each answer whether your brand is named, in what position, and which sources Perplexity cites. A weekly run is enough to see a trend.

PromptRun dateYour brand namedPositionCompetitors namedSources cited
"best X for small teams"week 1yes235 sites
"X vs Y"week 1no–24 sites

From that sheet you get three numbers: the share of answers that name you, your average position when named, and the sites that Perplexity cites most for your topics. The last one tells your content team which pages to improve or where to be mentioned.

To track ChatGPT and Google with the same prompts, see the AI Search Scraper API.

Legal

Perplexity's terms and what we collect

Section 5.2 of Perplexity's terms of service (last updated January 23, 2026) prohibits using robots, spiders, crawlers, scrapers or other automatic devices, processes, software or queries on its service. Perplexity offers its developer API for programmatic access. Review both with your counsel before you collect answers at scale. ProxyField's rule for every site: public pages only, and follow the site's terms. The API returns the answer a user of the Perplexity web version sees.

The API returns the answer to your prompt and nothing else: each prompt returns that one answer, with no data from any account.

Our own rules apply too. You may use ProxyField for collecting public web data, price and SEO monitoring, ad verification, testing, market research and similar lawful work. You may not use it to access data behind logins you are not entitled to, infringe intellectual property or break the law. Some site categories are restricted to protect the network. What the AI engines' terms say: Is AI Scraping Legal?; the wider picture: our guides on scraping law.

This is not legal advice.

Also from ProxyField

Other AI search engines

ProxyField sells a separate scraper API for each AI engine, each billed on successful results only:

APIWhat it returnsPrice per 1,000 successful results
Perplexity scraper API (this page)the Perplexity answer$1.50, from $1.00
ChatGPT scraper APIthe ChatGPT answer$1.50, from $1.00
Google AI Mode Scraper APIthe AI Mode answer$1.50, from $1.00
Google SERP APIthe Google results page as JSON, with the AI Overview, the People Also Ask block and the local pack parsed$1.20, from $0.80

The AI Overview comes parsed inside the Google SERP API; there is no separate AI Overview API, and no API for other AI assistants. The AI Search Scraper API page compares all four. For any other public URL, the Web Scraping API returns the page, plain HTTP or with JavaScript rendering, from $0.20 per 1,000 successful results.

Getting started

Start collecting Perplexity answers

Tell sales how many prompts you plan to run each month: the price is $1.50 per 1,000 successful results, or $1.00 from 10,000 results in one purchase.

FAQ

Perplexity Scraper API FAQ

24/7 support by live chat, including help with setup and integration.

How can I scrape Perplexity answers along with the sources they cite?

ProxyField's Perplexity scraper API returns the Perplexity answer to each prompt for $1.50 per 1,000 successful results, from $1.00 at volume; store each answer with its date and sources and compare runs week by week. For answers and sources as JSON in your own app, Perplexity's Agent API returns the text with [1]-style markers and a search_results list of each source's URL, title and date. To capture what perplexity.ai shows a person, with its source links, run a real browser through a sticky residential IP, wait for the answer to finish streaming and parse the page.

What data can I get from scraping Perplexity, like answers, sources and follow-up questions?

ProxyField's API returns Perplexity's answer to your prompt, at $1.50 per 1,000 successful results. The answer text gives you the brands named and their order; the numbered sources give you the sites Perplexity cites; the follow-up questions give you new prompts. Perplexity's Agent API returns the answer and its sources but does not list follow-ups among its documented fields, while a browser run captures all three when you parse the page; ProxyField's API returns all three as separate fields: the answer, citations and related_questions.

Is the official Perplexity API enough to see what Perplexity shows real users, or do I need a scraper API?

The official API is enough to build an app on Perplexity's models, but it does not promise the answer perplexity.ai shows a person, because it runs under the model and search settings you choose for your app. To monitor what users see, use a scraper API, such as ProxyField's at $1.50 per 1,000 successful results, or your own browser through proxies. Either way, one run is one sample: fix the prompts and the country and repeat.

Does Perplexity have an official API?

Yes. Perplexity's developer platform includes the Agent API, which returns web-grounded answers with their cited sources, and the Search API, which returns ranked web results without an answer. Both need a Perplexity API key and are billed under Perplexity's API pricing.

How do I scrape Perplexity AI?

Send each prompt through a scraper API and store the answer with the prompt and the date. Without an API, you automate Perplexity's web app in a real browser, wait for the answer to finish and parse the page, and that breaks when the interface changes.

What is a Perplexity scraper API?

An API that sends prompts to Perplexity and returns its answers, so you can measure what Perplexity says about a brand, a product or a topic. ProxyField's costs $1.50 per 1,000 successful results.

How much does it cost to scrape Perplexity?

With ProxyField, $1.50 per 1,000 successful results, from $1.00 at volume, and you pay only for successful results. 200 prompts a day come to 6,000 results, or $9.00 a month at the entry price.

Why do I get blocked when scraping Perplexity?

Datacenter IPs and an IP that changes in the middle of an answer are common causes in a do-it-yourself browser run. Use residential IPs with a sticky session: ProxyField's sessions hold one IP from 30 s to 36 h, from $1.95/GB. With a scraper API, the collection runs on the provider's side.

How do I know when a Perplexity answer has finished streaming?

Perplexity writes its answer in pieces, so a fixed wait either cuts it short or wastes time. Read the page text every second and treat the answer as finished once it has not changed for about 6 seconds, with a timeout of about 90 seconds, as the script on this page does.

Can I scrape Perplexity without writing code?

You need a short script or a no-code automation tool that can call an API. Contact sales about the options for your workflow.

Show 10 more questionsShow fewer questions

Which programming languages can I use to scrape Perplexity?

The API takes a prompt and returns the answer, so no browser runs on your side. The code that stores and compares the answers can be in the language your team already uses, such as Python or Node.js.

How do I handle JavaScript when scraping Perplexity?

With the API you don't: the answer comes back without a browser on your side. A do-it-yourself scraper needs a real browser such as Playwright, because Perplexity builds and streams its answers with JavaScript.

Can I scrape Perplexity from a specific country?

Yes: ProxyField's Perplexity scraper API takes a country setting, the country the question is asked from, as a two-letter code such as de. With your own browser, ProxyField residential proxies target 195+ countries down to the city, from $1.95/GB. Perplexity's answers can vary with location, so keep the country fixed for each prompt set.

What's the rate limit for scraping Perplexity?

Tell sales your monthly prompt volume and how fast you need the answers. You pay $1.50 per 1,000 successful results whatever the pace.

Do I need a Perplexity account to scrape it?

With ProxyField's API you send prompts and get Perplexity's answers back, at $1.50 per 1,000 successful results. Each answer is the one a user of the Perplexity web version sees.

Can I scrape Perplexity Pro features?

ProxyField's Perplexity scraper API returns the Perplexity answer to your prompt, with its sources and suggested follow-ups, at $1.50 per 1,000 successful results. It collects no data from any account; for anything beyond the answer, contact sales.

Can I scrape Perplexity with a web scraping API?

A web scraping API fetches a URL, but a Perplexity answer exists only after a prompt is sent. That is the job of the Perplexity scraper API; ProxyField's Web Scraping API fetches any other public page, from $0.20 per 1,000 successful results.

Can I scrape other AI search engines besides Perplexity?

Yes: ProxyField also sells the ChatGPT and Google AI Mode scraper APIs at $1.50 per 1,000 successful results, and the Google SERP API, with the AI Overview parsed, at $1.20. There is no API for other AI assistants.

Can I track my brand in Perplexity answers over time?

Yes: run the same prompt set regularly, store each answer with its date, and record whether your brand is named, its position and the sources cited. You pay only for successful results, $1.50 per 1,000.

Do I need proxies to scrape Perplexity?

Not with the API: you send prompts and get answers back. If you run your own browser instead, it needs IPs, and ProxyField residential proxies cost from $1.95/GB with sticky sessions up to 36 h; start with the Easy Trial, 1 GB for $2.95.

Perplexity scraper API: $1.50 per 1,000 results, from $1.00

Billed on successful results only. Contact sales for the API and the volume you need. 24/7 live chat helps with setup and integration.