surfaces: ["perplexity"]

The Perplexity scraper API, the real answer page, not Sonar.

Perplexity is the most citation-dense AI surface there is, which makes the difference between its consumer UI and its Sonar API matter. We capture the real Perplexity answer page browser-first: the answer with its numbered citations inline, exactly as the page rendered them, normalized into one Envelope.

Credit cost
3 credits / successful capture
Regions
any ISO country
Capture method
capture: browser
POST /v1/search
curl -sS -X POST "https://api.aisearchapi.dev/v1/search" \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "tallest mountain in Japan",
    "surfaces": ["perplexity"],
    "regions": [{ "country": "US" }]
  }'
# → 202 { "jobId": "…", "children": ["….perplexity.…"] }
# then poll GET /v1/jobs/:childId, or add ?mode=sync for an inline Envelope

What a Perplexity capture returns.

One canonical Envelope, the same four sections every surface returns, with the fields Perplexity actually populates. Field names below are the contract, not a summary.

answer.text · answer.markdown · answer.blocks

The rendered Perplexity answer, plain text, normalized markdown, and typed blocks (paragraph, heading, list, code, quote).

answer.markdown (inline citations)

Perplexity’s numbered citations come through inline in the answer markdown, exactly as the page footnoted them, ready for your own citation extraction.

provenance

loginState, observed model label, surfacePresent, triggerState and requested-vs-effective region, every capture self-describes.

provenance.region

Requested-vs-effective country, so per-market citation comparisons are verifiable.

evidence.sources

The citations parsed into a structured array (url, title, role, cited, quote), so you get the cited domains without scraping them out of the markdown yourself. evidence.fanOut carries the search queries Perplexity ran; brand mentions are opportunistic and forthcoming.

Envelope excerpt, perplexity
{
  "job": {
    "id": "job_9f8e7d6c.perplexity.US",
    "surface": "perplexity",
    "status": "completed",
    "warnings": []
  },
  "provenance": {
    "loginState": "logged_out",
    "model": { "observedLabel": "Perplexity", "inferred": false,
               "confidence": 0.99 },
    "webSearch": { "enabled": true, "known": true },
    "surfacePresent": true,
    "region": { "requested": "US", "effective": "US" }
  },
  "answer": {
    "text": "Mount Fuji is the tallest mountain in Japan at 3,776 m.",
    "markdown": "**Mount Fuji** is the tallest mountain in Japan at 3,776 m [1](https://en.wikipedia.org/wiki/Mount_Fuji).",
    "blocks": [ { "type": "paragraph", "text": "…" } ]
  },
  "evidence": {
    "sources": [
      { "url": "https://en.wikipedia.org/wiki/Mount_Fuji", "title": "Mount Fuji",
        "role": "citation", "cited": true, "quote": "3,776 m" }
    ],
    "fanOut": [ "tallest mountain in Japan" ],
    "mentions": null,
    "shopping": null,
    "ads": null
  }
}

Cost and regions, on the record.

Default browser capture of the real Perplexity answer UI, the live v1 path.

Phase-2 surfaces are roadmap, not product. Requesting one returns an honest 422 today. The full picture is on the coverage page.

cost: 3 credits (charged on success only)free tier: 500 credits, pricing
regions:USGBDEFRCAAUINJPBR+ optional city & language

Perplexity capture, asked precisely.

Do you use the Perplexity Sonar API?

No, the live v1 path is browser capture of the real Perplexity UI, the same page a user sees. A Sonar-based path is on the roadmap and, if it ships, will never be a silent substitute for the real UI.

How are Perplexity’s citations represented?

Two ways, both in the Envelope. answer.markdown preserves Perplexity’s numbered footnotes exactly as the page rendered them, so each citation sits right next to the claim it backs, and evidence.sources hands you the same citations as a structured array (url, title, role, cited, quote), so you can diff the cited domains without parsing the markdown yourself.

What does a Perplexity capture cost?

Three credits per successful capture, the lowest-cost surface, with every field included and charged-on-success. 500 free credits to start.

Can I capture the same prompt across countries?

Yes, pass multiple regions ({ country, city?, language? }) — any ISO-3166-1 country, up to 10 per request — and each fans out into its own child Envelope, so you can diff how Perplexity answers and cites per market.

What happens if Perplexity returns nothing?

Absence-is-data: the job still completes, provenance.surfacePresent is false, warnings carries surface_absent, and the absent result is recorded rather than dropped. It costs no credits.