Check one page's citation history: which engines cite it today, which stopped, and since when.
Use this after aiseo_list_sources when you care about a single URL. For every cited URL at once, use
aiseo_list_sources.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectSlug | string | Yes | From aiseo_list_projects |
url | string | Yes | Page URL. Tracking params and trailing slashes are normalized. |
range | 30d | 60d | 90d | No | Days of history. Default 60d. |
REST: GET /api/agent/v1/projects/{slug}/sources/history?url=...&range=60d
Input
{
"projectSlug": "acme",
"url": "https://example.com/best-crm/"
}
Output
{
"engines": [
{
"checkedDays": 41,
"citedDays": 12,
"days": "__CC.C..C____...",
"engine": "Perplexity",
"lastCitedAt": "2026-09-20T08:12:00.000Z",
"missedChecks": 4,
"missingSince": "2026-09-21",
"model": "perplexity",
"status": "dropped"
}
],
"href": "/p/acme/sources/url?url=https%3A%2F%2Fexample.com%2Fbest-crm%2F",
"isStale": false,
"lastCitedAt": "2026-09-20T08:12:00.000Z",
"latestScanDay": "2026-09-25",
"project": { "name": "Acme", "slug": "acme" },
"promptsCitingNow": [
{ "engines": ["ChatGPT"], "lastCitedAt": "2026-09-25T07:00:00.000Z", "query": "best crm for startups" }
],
"range": "60d",
"title": "Best CRM for startups",
"url": "https://example.com/best-crm/"
}
| Field | Meaning |
|---|---|
engines[].status | cited (cited on the latest check), dip (missed 1-2 checks, often noise), dropped (missed 3+ checks in a row), never (not cited in range) |
engines[].days | One char per day, oldest first. C cited, . checked but not cited, _ no answer that day |
engines[].missedChecks | Checks in a row without a citation, newest first |
engines[].missingSince | First day of the current miss streak |
engines[].lastCitedAt | Last citation on this engine, all time |
isStale | Scans stopped more than 2 days ago, so statuses are old news |
promptsCitingNow | Tracked prompts that cite the URL on their latest check |
href | App path for the full history page. Copy it. |
A URL that was never cited returns empty engines and promptsCitingNow, not an error. Only an unparseable url errors.
Example prompt
Call
aiseo_get_source_historyfor https://example.com/best-crm/. Is it still cited? If an engine dropped it, say when and which prompts still cite it.