Ai Citation Finder avatar

Ai Citation Finder

Under maintenance

Pricing

from $0.25 / actor start

Go to Apify Store
Ai Citation Finder

Ai Citation Finder

Under maintenance

Find which websites influence AI answers by extracting and ranking the citations used by ChatGPT, Gemini, Claude, and Perplexity. For every question you provide, this Actor asks each selected AI answer engine, extracts every citation and URL from the answer, normalizes domains, and counts frequency.

Pricing

from $0.25 / actor start

Rating

0.0

(0)

Developer

Muhammad Bilal

Muhammad Bilal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Find which websites influence AI answers by extracting and ranking the citations used by ChatGPT, Gemini, Claude, and Perplexity.

Apify SDK Playwright TypeScript

Overview

For every question you provide, this Actor asks each selected AI answer engine, extracts every citation and URL from the answer, normalizes domains, and counts frequency. It then ranks the most influential sources overall and per category (review sites, blogs, communities, forums, social, government, documentation, news).

Architecture

Identical shared library layout as the rest of the AI Actor ecosystem:

src/
├── main.ts # Actor.main() entry point
├── types.ts # Input/record/summary types
├── config/index.ts # Input validation → strict config
├── analysis/index.ts # citation extraction + per-domain aggregation
├── report/index.ts # Final ranked markdown report
└── shared/ # Reusable library (adapters, engine, parser, citations,)

Pipeline: validate → build tasks → collect answers (Playwright adapters) → extract & normalize citations → count per (question, domain) → rank by category.

Input

FieldTypeDefaultDescription
questionsstring[] (required)Questions asked on every platform
platformsstring[]all fourChatGPT, Gemini, Claude, Perplexity
topNinteger20Domains per ranked category
headlessbooleantrueHeadless browser
screenshotOnFailurebooleantrueScreenshots to KV store on failure
maxRetriesinteger2Retries per (platform, question)
askTimeoutMsinteger90000Max wait per answer
useApifyProxybooleantrueRoute through Apify Proxy
cookiesarray[]Session cookies for authenticated platforms

Input example

{ "questions": ["best CRM for startups"] }

Output

Dataset record (one per question × domain)

{ "question": "best CRM for startups", "domain": "g2.com", "count": 12, "category": "review", "platforms": ["ChatGPT", "Perplexity"], "urls": ["https://www.g2.com/..."] }

Key-Value Store artifacts

  • SUMMARY — ranked top-lists: topDomains, topReviewSites, topBlogs, topCommunities, topForums, topSocialMedia, topGovernmentDomains, topDocumentationSites, topNews
  • REPORT — final ranked markdown report
  • EXPORT_CSV — flat CSV of all records

Domain categorization

Domains are normalized to their registrable form (www.G2.com/xg2.com, apple.co.uk handled) and classified into: review, blog, community, forum, social, government, documentation, news, ecommerce, other.

Rate limits & known limitations

  • Perplexity is citation-first and most reliable; ChatGPT/Claude/Gemini often need cookies.
  • Citation coverage depends on whether the engine surfaces links for a given answer.
  • Selectors live in src/shared/adapters/* and can be updated without touching the pipeline.

Deployment

npm install && npm run build && npm test && npm run lint
npx playwright install chromium # local only; Docker image already has it
apify push

Docker base image: apify/actor-node-playwright-chrome:22.

Testing guide

npm test runs citation/parser (fixture-based), retry, validation, statistics, adapter (mock page), engine integration, and analysis tests. Fixtures live in tests/fixtures/.

Troubleshooting

SymptomCauseFix
Few/zero citationsEngine returned no links / auth wallProvide cookies, prefer Perplexity
error: captchaBot checkEnable residential proxy, retry

Version history

  • 1.0.0 — Initial production release.