# Perplexity Brand Tracker - Perplexity API & AI Citations (`santhej/perplexity-brand-tracker`) Actor

AI SEO tool for Perplexity: ask your buyer's questions and get the full answer, every cited source, and whether your brand is named or cited versus competitors. Share of voice, mention position, top cited domains. Structured JSON. No API keys.

- **URL**: https://apify.com/santhej/perplexity-brand-tracker.md
- **Developed by:** [Santhej Kallada](https://apify.com/santhej) (community)
- **Categories:** SEO tools, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Perplexity Brand Tracker — Perplexity API & AI Citations

**Ask Perplexity the questions your buyers ask, and find out whether it recommends you, ignores you, or sends them to a competitor.**

Perplexity answers every question with a live web search and a numbered source list. That makes it the single clearest signal of whether your content is winning AI citations — there is no ambiguity about where the answer came from, because Perplexity shows you.

This Actor runs any list of prompts, then reports for each one: the full answer, every cited source, whether your brand was **named**, whether your domain was **cited**, and how you stack up against a competitor set.

### What you get per prompt

| Field | What it tells you |
|---|---|
| `answer_text` | Perplexity's complete answer |
| `brand_mentioned` + `brand_mention_count` | Whether you were named, and how often |
| `brand_position_score` | How early you appear, bucketed 1–10 (1 = opening sentence) |
| `brand_context` | The exact sentence around your first mention — how you were described |
| `share_of_voice_pct` | Your mentions as a share of you + all named competitors |
| `competitor_mentions` | Per-competitor mention counts in the same answer |
| `brand_cited` + `brand_cited_urls` | Whether *your pages* were cited as sources |
| `citations` | Every source: title, URL, domain |

The run summary adds your overall mention rate, citation rate, and a ranked table of the domains Perplexity cites most across your prompt set — the publications you need to be in.

### Named vs cited

Two different problems, reported separately:

- **Named** — the answer text says "HubSpot". The buyer reads your name.
- **Cited** — hubspot.com appears in the sources. The buyer can click through to you.

Being named without being cited means Perplexity knows you but sends the click elsewhere. Being cited without being named means your page fed the answer while a competitor got the credit. You need both, and most tools only measure one.

### Use cases

- **GEO / AEO monitoring** — a weekly record of whether Perplexity still recommends you.
- **Share of voice** — quantify your presence against a named competitor set, prompt by prompt.
- **Citation gap analysis** — see which domains win the citations you are missing.
- **Digital PR targeting** — the top cited domains table is a ranked outreach list.
- **Messaging audit** — `brand_context` shows the words Perplexity uses to describe you.
- **Client reporting** — dated, exportable AI-visibility evidence for retainers.

### Pricing

Pay per event. No monthly fee, no setup fee, no minimum.

| Event | Price |
|---|---|
| Actor start | $0.001 per run |
| Prompt check | **$0.02 per prompt** |

A 25-prompt weekly check costs **$0.501**.

Perplexity performs a live web search on every single answer, which is what makes its citations trustworthy — and also what makes it the most expensive answer engine to query. If you want a cheaper baseline, our [ChatGPT Brand Tracker](https://apify.com/santhej/chatgpt-brand-tracker) starts at $0.005 per prompt, and our [Google AI Overview Tracker](https://apify.com/santhej/google-ai-overview-tracker) covers Google's AI answers at $0.008 per query.

### Input example

```json
{
  "prompts": [
    "What are the best CRM tools for a small business?",
    "Is HubSpot worth the price for a 20 person sales team?"
  ],
  "brandName": "HubSpot",
  "brandDomains": ["hubspot.com"],
  "competitorNames": ["Salesforce", "Zoho", "Pipedrive"],
  "competitorDomains": ["salesforce.com", "zoho.com"]
}
```

### Output example

```json
{
  "prompt": "What are the best CRM tools for a small business?",
  "answered": true,
  "brand_mentioned": true,
  "brand_mention_count": 4,
  "brand_position_score": 1,
  "brand_context": "...For most small businesses, HubSpot is the strongest starting point because its free tier...",
  "share_of_voice_pct": 44.4,
  "competitor_mentions": [{ "name": "Zoho", "count": 3 }, { "name": "Pipedrive", "count": 2 }],
  "brand_cited": true,
  "citation_count": 20,
  "cited_domains": ["fitsmallbusiness.com", "hubspot.com", "g2.com", "forbes.com"],
  "checked_at": "2026-08-23T09:14:00.000Z"
}
```

### FAQ

**Do I need a Perplexity API key?** No. Everything is handled for you — add prompts and run.

**Are these real Perplexity answers?** Yes. Every prompt is sent live and the answer and its sources come back as generated, not simulated or scraped from a cache.

**Why do answers change between runs?** Because Perplexity re-searches the web each time. That variance *is* the signal — track it weekly rather than reading a single run as fact.

**Do I have to supply a brand?** No. Leave the brand fields empty and you still get every answer and its full citation list.

**Can I export it?** Yes — JSON, CSV, Excel, or via the Apify API into n8n, Make or Zapier.

### Track every AI surface

Each Actor in this family covers one AI surface deliberately, so you only pay for the check you need:

- [Google AI Overview Tracker](https://apify.com/santhej/google-ai-overview-tracker) — does Google's AI Overview cite you for your keywords?
- [Google AI Mode Tracker](https://apify.com/santhej/google-ai-mode-tracker) — Google's conversational AI tab, tracked the same way.
- [ChatGPT Brand Tracker](https://apify.com/santhej/chatgpt-brand-tracker) — does ChatGPT recommend you? Optional web-grounded mode with sources.
- [AI Citation Gap Finder](https://apify.com/santhej/ai-citation-gap-finder) — which domains Google's AI cites across your whole keyword set, and where competitors are cited but you are not.
- [AI Rank Tracker Pro](https://apify.com/santhej/ai-rank-tracker-pro) — every platform in one run, with share-of-voice reports across ChatGPT, Perplexity, Gemini and Google AI.

***

*Tags: perplexity, perplexity api, perplexity seo, ai seo tool, llm seo, aeo tool, ai search optimization, ai search visibility, ai visibility, brand visibility, brand monitoring, GEO, AEO, generative engine optimization, answer engine optimization, ai citations, share of voice, llm monitoring, ai search*

# Actor input Schema

## `prompts` (type: `array`):

The questions to ask Perplexity — write them the way a buyer would. Every answer is web-grounded and comes back with its sources, so comparison and recommendation questions produce the richest citation lists.

## `brandName` (type: `string`):

The brand to look for in the answer, e.g. HubSpot. Matched on whole words, case-insensitively.

## `brandAliases` (type: `array`):

Other ways your brand is written — product names, an abbreviation, a legal entity. Any of these counts as a mention.

## `brandDomains` (type: `array`):

Domains you own, e.g. hubspot.com. Used to detect whether Perplexity cited you as a source, which is separate from merely naming you.

## `competitorNames` (type: `array`):

Competitor brands to count in the same answer. Used to compute your share of voice.

## `competitorDomains` (type: `array`):

Competitor domains, e.g. salesforce.com. Flags answers where a rival is cited as a source and you are not.

## `includeAnswerText` (type: `boolean`):

Return Perplexity's complete answer on every row. Turn off for a lighter dataset when you only need the verdict and citations. Does not change the price.

## Actor input object example

```json
{
  "prompts": [
    "What are the best CRM tools for a small business?"
  ],
  "brandName": "HubSpot",
  "brandDomains": [
    "hubspot.com"
  ],
  "competitorNames": [
    "Salesforce",
    "Zoho",
    "Pipedrive"
  ],
  "competitorDomains": [
    "salesforce.com",
    "zoho.com"
  ],
  "includeAnswerText": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

One row per query, plus aggregate rows where applicable.

## `summary` (type: `string`):

Coverage, citation rates, billing breakdown and net margin for the run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "prompts": [
        "What are the best CRM tools for a small business?"
    ],
    "brandName": "HubSpot",
    "brandDomains": [
        "hubspot.com"
    ],
    "competitorNames": [
        "Salesforce",
        "Zoho",
        "Pipedrive"
    ],
    "competitorDomains": [
        "salesforce.com",
        "zoho.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("santhej/perplexity-brand-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "prompts": ["What are the best CRM tools for a small business?"],
    "brandName": "HubSpot",
    "brandDomains": ["hubspot.com"],
    "competitorNames": [
        "Salesforce",
        "Zoho",
        "Pipedrive",
    ],
    "competitorDomains": [
        "salesforce.com",
        "zoho.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("santhej/perplexity-brand-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "prompts": [
    "What are the best CRM tools for a small business?"
  ],
  "brandName": "HubSpot",
  "brandDomains": [
    "hubspot.com"
  ],
  "competitorNames": [
    "Salesforce",
    "Zoho",
    "Pipedrive"
  ],
  "competitorDomains": [
    "salesforce.com",
    "zoho.com"
  ]
}' |
apify call santhej/perplexity-brand-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,santhej/perplexity-brand-tracker"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/tqjYtdWgsAEzH7o82/builds/LfadsXzjMdfACmQ5t/openapi.json
