Perplexity answers API
aivisibilityskill returns Perplexity's answer to a question as JSON, from Perplexity's Sonar model with Perplexity's own web search: the brands it names in order and whether it recommends them, every citation with its source type, and the raw response with its SHA-256 hash. It's asked through Perplexity's API, not the perplexity.ai app, costs $0.035 an answer, and failed answers are never charged.
- Asks
- Perplexity's Sonar model, with Perplexity's own web search
- Returns
- The answer, brands in order, every citation, facts and the raw response
- Countries
- Any of 250 countries and territories, told to the model
- Price per answer
- $0.035 (live); half for a reused answer
- Speed
- Live only, one call per answer
- Try it
- Free sandbox keys and 500 free credits, no card
curl https://api.aivisibilityskill.com/v1/checks \
-H "Authorization: Bearer $AIV_KEY" \
-H "Content-Type: application/json" \
-d '{
"questions": ["best CRM for early-stage startups"],
"engines": ["perplexity"],
"locale": "en-US",
"mode": "live",
"wait": 60
}'
{
"status": "succeeded",
"credits": { "quoted": 35, "charged": 35 },
"answers": [
{
"engine": "perplexity",
"surface": "api",
"question": "best CRM for early-stage startups",
"locale": "en-US",
"has_ai_answer": true,
"brands": [
{ "name": "HubSpot", "rank": 1, "recommended": true,
"sentiment": "positive", "quote": "best CRM for startups overall" },
{ "name": "Less Annoying CRM", "rank": 2, "recommended": true,
"sentiment": "positive",
"quote": "best simple CRM for very early-stage startups" }
],
"facts": [
{ "brand": "Zoho", "type": "free_tier", "value": "up to 3 users",
"price": null }
],
"citations": [
{ "position": 1, "domain": "techradar.com", "source_type": "media" },
{ "position": 2, "domain": "salesforce.com",
"source_type": "brand_owned" }
],
"receipt": { "sha256": "…", "url": "…/receipt" }
}
]
}
What the Perplexity API returns
Perplexity cites heavily, and every answer is built from the pages its search finds. Each one comes back read the same way as the other engines: brands in order, every citation typed, and the raw response kept as proof.
| Field | What it holds |
|---|---|
has_ai_answer | false when the engine showed no AI answer (for example, no AI Overview for that query). |
text | The full answer, as markdown. |
brands[].name, rank | Every brand the answer names, in order of first mention (rank 1 = named first). |
brands[].recommended, sentiment, quote | Whether it recommends the brand, the tone (positive, neutral, negative) and the exact words. |
citations[].position, url, domain, title | Every source the answer cites, in the order it cites them. |
citations[].source_type | What kind of site each source is: brand_owned, review_site, media, reddit, youtube, wikipedia, forum, social, blog_platform, marketplace, gov_edu or other. |
facts[] | Claims about each brand (price, plan, free tier, platform, feature) with the quote they came from; prices parsed into amount, currency and period. |
model, locale, collected_at | The model the engine reported, the country and language asked from, and when. |
receipt.sha256, receipt.url | The engine's raw response, stored as returned, and its SHA-256 hash. |
The Sonar API vs aivisibilityskill
Perplexity sells its Sonar models through its own API, and you can call it directly. You get back the answer text and the links it used. What you don't get is the reading: which brands it named, in what order and tone, and what kind of site each source is. That's the part this API adds, in the same schema as seven other engines.
| The answer and its links | Yes | Yes |
|---|---|---|
| Brands named | You parse them yourself | Listed with rank, recommendation and sentiment |
| Source types | No | Every citation typed: brand_owned, review_site, media, reddit… |
| Prices and plans it states | No | Read into facts, with the quote |
| No | Yes, in the same call | |
| Schedules, history, webhooks | Build your own | Built in |
One honest difference: this is Perplexity's API answer, not the perplexity.ai app. The app lets people pick models and modes, so their answers can differ from the API's. For a fresh question with default settings, the API answer is the closest consistent measure.
One question, three different answers
We asked “best CRM for early-stage startups” on each engine from the US on the same morning. Each card is what the API returned: how the answer opens, the brands it named in order, and the first sites it cited.
-
Perplexityapi
best CRM for early-stage startups
The best CRM for an early-stage startup is usually the simplest one your team will actually use …
Names, in order
- HubSpot
- Less Annoying CRM
- Attio
- Pipedrive
- Zoho
- Zoho Bigin
- Salesforce Starter
and 3 more
Cites 17 links from 15 sites, starting with
techradar.comsalesforce.comslack.com -
ChatGPTapp
best CRM for early-stage startups
My recommendation: start with Attio if you're building a tech startup, or HubSpot if you want a free, all-purpose sales and marketing platform.
Names, in order
- Attio
- HubSpot
- Pipedrive
- Zoho CRM
- Close
Cites 10 sources, starting with
hackceleration.comsoftwarecompare.netstackbytrade.comChatGPT API -
Google AI Overviewsearch
best CRM for early-stage startups
The best CRM for early-stage startups depends on your growth model, budget, and sales process.
Names, in order
- HubSpot
- Pipedrive
- Attio
- Ringy
- Zoho CRM
- Salesforce as one to avoid
Cites 6 sources, starting with
ringy.combestpage.aidigitalocean.comGoogle AI Overview API
| Brand | |||
|---|---|---|---|
| HubSpot | 1 | 2 | 1 |
| Less Annoying CRM | 2 | – not named | – not named |
| Attio | 3 | 1 | 3 |
| Pipedrive | 4 | 3 | 2 |
| Zoho CRM | 5 | 4 | 5 |
| Bigin | 6 | – not named | – not named |
| Salesforce Starter | 7 | – not named | – not named |
| Close | – not named | 5 | – not named |
| Ringy | – not named | – not named | 4 |
| Salesforce | – not named | – not named | 6 (to avoid) |
All three name HubSpot, Attio and Pipedrive. Perplexity names 10 brands in all, including Less Annoying CRM and Capsule, which neither ChatGPT nor the AI Overview mention. It shares three sources with ChatGPT (techradar.com, hackceleration.com and attio.com) and one with the AI Overview (ringy.com).
Perplexity citations
For the CRM question, Perplexity cited 17 links from 15 sites, more than any other engine we asked (ChatGPT cited 10, the AI Overview 6, AI Mode 3), and named 10 brands, also the most. Each citation comes back with its position, URL, title and source type, so you can see which roundups and vendor pages Perplexity relied on, and whether your customer's site is one of them.
Track brand mentions in Perplexity
Put a brand, its competitors and its buyers' questions in a project with a daily or weekly schedule. The API returns how often Perplexity names the brand (with error bars), each competitor's share, the sites Perplexity cites and the history, and a webhook tells your server when each run is done. Track it next to ChatGPT and Google AI Overviews in the same project.
Call the Perplexity API from TypeScript or Python
The SDKs wrap the same request, retry safely without charging twice, and wait for the answers for you. Free sandbox keys (aiv_test_…) return realistic sample answers, so you can build the whole feature before spending a credit.
TypeScript (npm install @aivisibilityskill/sdk)
import { Aiv } from "@aivisibilityskill/sdk";
const aiv = new Aiv({ apiKey: process.env.AIV_KEY! });
const job = await aiv.checks.create({
questions: ["best CRM for early-stage startups"],
engines: ["perplexity"],
locale: "en-US",
});
const done = await aiv.jobs.wait(job.id);
for (const answer of done.answers ?? []) {
console.log(answer.brands?.map((b) => `${b.rank}. ${b.name}`));
console.log(answer.citations?.map((c) => c.domain));
}Python (pip install aivisibilityskill)
import os
from aivisibilityskill import Aiv
aiv = Aiv(api_key=os.environ["AIV_KEY"])
job = aiv.checks.create(
["best CRM for early-stage startups"],
engines=["perplexity"],
locale="en-US",
)
done = aiv.jobs.wait(job["id"])
for answer in done["answers"]:
print([(b["rank"], b["name"]) for b in answer["brands"]])
print([c["domain"] for c in answer["citations"]])For thousands of questions, send them as one batch of up to 20,000 answers and get one webhook when it's done. Full guides: SDKs, API reference, OpenAPI 3.1 spec.
Prefer a ready-made tool? llm-brand-tracker on GitHub tracks your brand against competitors on all 8 engines every week, free on GitHub Actions. Free and MIT licensed.
Perplexity API pricing
You pay per answer, in credits. Perplexity is asked live, one call per answer, so there's one speed. A dollar buys 1,000 credits on a pack; monthly and volume plans include more. An answer reused from a recent identical one (max_age_hours) costs half, and an answer that fails costs nothing.
| Speed | Ready | Credits | Pay as you go | Business and Enterprise plans | Reused answer |
|---|---|---|---|---|---|
| Live | Usually under a minute | 35 | $0.035 | $0.0219 | 18 credits |
Every account gets the same API and every engine, starting with 500 free credits and no card. Volume plans start at $500 a month for 750,000 credits, with invoicing and a 99.5% uptime commitment: see volume plans.
Countries and languages
Perplexity is asked through its API, so it isn't answering from a location. For any locale other than en-US, it's told which country the buyer is in, for any of 250 countries and territories, and it answers in the question's language (de-DE, pt-BR, ja-JP…). The app and search engines answer from the country itself: ChatGPT in 192, Gemini, Google AI Overviews and AI Mode in 240. GET /v1/locales lists every pair for free.
Questions
Is this the Perplexity app's answer?
No. It's the answer from Perplexity's Sonar model through Perplexity's API, with Perplexity's own web search. The perplexity.ai app lets people choose models and modes, so its answers can differ.
How is this different from calling the Sonar API myself?
Sonar gives you the answer and its links. This API also reads the answer: the brands it names in order, whether it recommends them, the sentiment, the facts it states and the type of every source, in the same schema as ChatGPT, Gemini, Google AI Overviews and AI Mode.
Does it return Perplexity's citations?
Yes. Every citation comes back in order, with its URL, domain, page title and a source type such as review_site, media, reddit or brand_owned.
How much does the Perplexity API cost?
35 credits an answer: $0.035 at pay-as-you-go rates and about $0.022 on volume plans. A recent identical answer reused with max_age_hours costs 18 credits. Failed answers are never charged.
Can I use batch or standard mode for Perplexity?
No. Perplexity is asked live, one call per answer, so it's live mode only. ChatGPT, Gemini, Google AI Overviews and AI Mode also offer cheaper batch and standard speeds.
Can I ask Perplexity from another country?
Yes. For any locale other than en-US, Perplexity is told which country the buyer is in, for any of 250 countries and territories, and it answers in the question's language.