Perplexity AI Answer Scraper avatar

Perplexity AI Answer Scraper

Under maintenance

Pricing

from $5.00 / 1,000 answers

Go to Apify Store
Perplexity AI Answer Scraper

Perplexity AI Answer Scraper

Under maintenance

Submits natural-language queries to Perplexity's answer engine (via the reversed Perplexity Android API) and returns the model's answer text plus its cited web sources. Anonymous guest tier, no account needed.

Pricing

from $5.00 / 1,000 answers

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

16 hours ago

Last modified

Categories

Share

Submit natural-language questions to Perplexity and get back the model's answer text and the web sources it cited — as structured dataset rows. The actor talks to Perplexity's mobile answer API directly (reversed from the ai.perplexity.app.android app), using the app's anonymous guest tier, so no Perplexity account or API key is required.

What it does

For each query you provide, the actor:

  1. impersonates the Perplexity Android client against POST /rest/sse/perplexity_ask,
  2. streams the answer, and
  3. pushes one dataset row with the answer and its citations.

A fresh exit IP is drawn per attempt, so a walled/rate-limited exit is retried rather than dropped; only a genuine per-query failure emits an error field.

Input

FieldTypeNotes
queriesstring listOne or more questions. Each produces one row.
sourcesmulti-selectCorpora to search: web, scholar, social, video, image. Default [web].
maxSourcesintegerCap citations kept per answer. 0 = all.
maxAttemptsintegerTries per query (fresh exit IP + identity each), before an error row. Default 8, max 20.
languagestringAnswer language (BCP-47 code).
timezonestringIANA timezone for time-relative answers.
proxyGroupselectApify proxy group: RESIDENTIAL (default) or UNBLOCKER.
proxyConfigurationproxyOptional custom/own proxy servers. Leave empty to use proxyGroup.

Example input

{
"queries": [
"What is the capital of Lithuania?",
"Who won the 2022 FIFA World Cup?"
],
"sources": ["web"],
"proxyGroup": "RESIDENTIAL",
"maxAttempts": 8
}

Output

Each dataset row:

{
"query": "What is the capital of Lithuania?",
"answer": "The capital of Lithuania is **Vilnius**. ...",
"source_count": 10,
"sources": [
{ "name": "Vilnius - Wikipedia", "url": "https://en.wikipedia.org/wiki/Vilnius", "snippet": "..." }
],
"mode": "concise",
"backend_uuid": "…"
}

If a single query fails, its row carries an error field and the batch continues.

Why a proxy is required

Perplexity's answer endpoint stalls requests coming from datacenter IP ranges. The actor therefore routes every request through a residential-grade proxy and draws a fresh exit IP per attempt.

RESIDENTIAL is the default proxy group. UNBLOCKER (Apify Unblocker) is also selectable — it automatically handles anti-bot challenges/CAPTCHAs and rotates the exit IP on every request — but it costs extra Apify proxy units (10 units per successful request) on top of the $0.005 answer charge, and in our testing it did not improve success against Perplexity's per-IP anti-fraud wall over residential. A custom/own proxy can be supplied through proxyConfiguration (proxyUrls) — for sustained scraping, clean mobile or bring-your-own residential IPs work best. A datacenter proxy or no proxy may hit Perplexity's signup/anti-fraud wall.

How exit-IP rotation works

Each query — and each retry of a walled/empty answer — is handled by a brand-new client: a fresh curl_cffi Session (new connection pool, new TCP connection) wired to a freshly drawn proxy URL, so no keep-alive connection survives a proxy change. For RESIDENTIAL a unique session id (proxy.new_url(session_id=<uuid>)) guarantees a distinct sticky exit per attempt; UNBLOCKER has no session model, so its new_url() is called plainly and relies on Unblocker's automatic per-request rotation. A brand-new visitor identity (frontend_uuid + android_device_id) is minted per attempt, and the run logs the actual exit IP per attempt (via a public IP-echo service hit through the same session) so rotation is observable in the Apify run logs. A small randomized backoff (1–3 s) is applied between queries and before each retry, up to maxAttempts tries per query (default 8, max 20).

Pricing

Pay-per-event: $0.005 per answer (one charge per query answered). Citations are included in that charge. The Unblocker proxy group additionally costs Apify proxy units (10 per successful request); RESIDENTIAL consumes proxy units at the standard residential rate.

Notes & limitations

  • Guest tier: answers come from Perplexity's default model for anonymous clients; account-only features (custom models, Pro search history, file upload) are out of scope.
  • This is an unofficial client and is not affiliated with or endorsed by Perplexity AI.