AI Citations Tracker — Perplexity Source Evidence avatar

AI Citations Tracker — Perplexity Source Evidence

Pricing

from $120.00 / 1,000 citation scans

Go to Apify Store
AI Citations Tracker — Perplexity Source Evidence

AI Citations Tracker — Perplexity Source Evidence

Run buyer prompts against Perplexity and record the provider-returned source URLs, their domains, owned-domain citation status, answer excerpt, and exact prompt. Use for evidence-based AEO monitoring; not for rank tracking or a guarantee of AI visibility.

Pricing

from $120.00 / 1,000 citation scans

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Run a fixed set of buyer prompts through Perplexity and receive one dataset row per completed check. Each row contains the exact prompt, source URLs, source domains, evidence provenance, configured-domain match state, answer excerpt, and collection time. It gives AEO, content, and brand teams an auditable input for a recurring citation-evidence report.

Best fit

  • A content team monitors stable questions from product demos, site search, or approved research.
  • A brand team needs source URLs behind a Perplexity answer and a clear owned-domain match flag.
  • An agency exports a prompt-level evidence dataset into a weekly client report.

This Actor is designed as a focused standalone workflow for Perplexity source evidence. Pair it with a traditional search-rank collection for SERP measurement, then feed this dataset into a reporting or content-planning workflow.

Focused standalone workflow

The Actor works as a focused standalone workflow when the next decision depends on the observed citation URLs for a fixed buyer-prompt set. Start with one product category, confirm the dataset evidence view, then schedule the same source collection for a consistent reporting cadence.

Workflow story

Maya leads content for a developer tool. She starts with five buyer questions from product demos, adds her product and documentation domains, and schedules the same prompt set each week. Next, she filters the dataset to provider_citation rows, compares the observed source domains with the prior export, and sends the specific prompt-plus-URL evidence to the content owner for a page refresh or outreach decision.

Output and evidence provenance

One row represents one completed prompt sent to Perplexity through the configured provider route. A row with citationCount equal to zero records the observed source state for that exact collection. The Actor records two evidence types:

FieldMeaning
citations[].evidenceType = provider_citationThe provider exposed the URL in citation metadata.
citations[].evidenceType = answer_linkThe URL appeared as a Markdown link in the answer.
trackedDomainCitedAn observed source matches an input domain or its subdomain.
trackedCitationUrlsMatching observed URLs from the configured-domain check.
sourceDomainsDeduplicated domains from every observed source URL.
answerExcerptA bounded context excerpt for human review.

Provider metadata and answer links remain separate fields, allowing downstream reporting to filter by evidence provenance.

Input example

{
"prompts": [
"What are the best web scraping platforms for product teams?",
"How should a startup automate reliable web data collection?"
],
"trackedDomains": ["apify.com", "docs.apify.com"],
"maxPrompts": 2,
"answerDetail": "concise"
}

prompts is the required input. trackedDomains supports an owned-domain or competitor-domain evidence check. A collection processes up to 25 distinct prompts, and maxPrompts applies after duplicate removal.

Example output

{
"runId": "abc123XYZ",
"prompt": "What are the best web scraping platforms for product teams?",
"provider": "perplexity",
"modelUsed": "perplexity/sonar",
"citationCount": 2,
"providerCitationCount": 1,
"trackedDomainCited": true,
"trackedCitationUrls": ["https://apify.com/store"],
"sourceDomains": ["apify.com", "example.com"],
"citations": [
{
"url": "https://apify.com/store",
"domain": "apify.com",
"evidenceType": "provider_citation",
"trackedDomainMatch": true
}
],
"answerExcerpt": "Apify can help product teams collect web data...",
"checkedAt": "<ISO-8601 timestamp>"
}

Source URLs and citations vary by prompt, provider behavior, collection time, and account configuration. The evidence dataset view retains the full citation-evidence array, while overview highlights the domain-match and source summary fields.

Pricing and best results

This Actor uses Pay per event pricing: $0.12 per persisted citation scan plus Apify platform usage. apify-actor-start is charged once per run. Five specific prompts create up to $0.60 in citation-scan events before platform usage. Open the live Pricing tab for the current event and platform-usage details.

Provide the OPENROUTER_API_KEY owner secret to access perplexity/sonar. The secret stays in owner configuration while the dataset contains prompt, source, provenance, and collection-time evidence. Start with public, approved prompts, validate a sample row, and schedule the collection after the result matches the reporting goal.

Read outcomes

Every terminal path writes these key-value store records:

  • OUTPUT: compact outcome, item counts, charged events, and collection guidance.
  • RUN_SUMMARY: prompt plan, source-domain totals, provider diagnostics, and a detailed readback.
OutcomeMeaning
COMPLETEEvery planned prompt produced a persisted evidence row.
PARTIALUseful rows were written and the summary identifies prompts for a follow-up collection.
VALID_EMPTYDemo mode confirms the storage and input pathway.
INVALID_INPUTThe summary provides the prompt-plan or charge-cap adjustment for the next collection.
CONFIG_ERRORThe summary identifies the owner configuration needed for provider access.
UPSTREAM_FAILEDThe summary retains collection context for a later provider retry.

API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/ai-citations-tracker').call({
prompts: ['What are the best web scraping platforms for product teams?'],
trackedDomains: ['apify.com'],
maxPrompts: 1
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Prompt card for an AI agent

Run the AI Citations Tracker for these buyer questions. Return the dataset and OUTPUT readback, separate provider_citation from answer_link provenance, show matching URLs for trackedDomains, and include the Pay per event cost scope in the report.

Builder's note

I designed this Actor around a simple evidence rule: prompt, URL, source, provenance, and collection time travel together. I found that a reporting workflow becomes clearer when provider citation metadata and answer-link evidence stay as distinct fields instead of being merged into one score.

Responsible use

Use public, non-sensitive prompts and retain approved customer-research context outside the dataset. Respect the AI provider's terms and Apify platform terms. The output supports observed citation-evidence reporting for the collected prompt set.