Build on the AskThis API.
REST-first, JSON, versioned under/api/v1/. Every endpoint validates input against a shared schema and answers in a consistent envelope — no surprises.
One platform, three auth contexts.
Each surface has its own credentials — the boundaries are a security guarantee, not a convention.
App API
Session token/api/v1/*Powers the dashboard — sites, scans, prompts, analytics. Also the Enterprise programmatic surface via scoped API keys.
Public / Enterprise API
API keys/api/v1/*Token-authenticated, rate-limited by plan, versioned. Automate config, prompts, rules and analytics export.
Data Platform API
Partner credentials/data/v1/*Buyer-facing and fully isolated — serves only aggregated, pseudonymous segments. Never raw events or PII.
Bearer tokens, scoped keys.
Dashboard sessions use a self-hosted Better Auth session token in theAuthorization: Bearer header. Programmatic access uses scoped API keys you can create, rotate and revoke — rate-limited by plan.
Input is validated on every endpoint; invalid requests are rejected with 422 and per-field errors. Authorization is row-level: every query is scoped to your org and site.
{
"data": { },
"error": null,
"meta": { "requestId": "req_8f2a…" }
}The surface area, at a glance.
A working subset — the full reference lives in the docs.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/v1/sites | Create site + trigger scan |
| GET | /api/v1/sites/:id/config | Widget config (public, cached) |
| POST | /api/v1/scan | Trigger / re-trigger scan |
| GET | /api/v1/scan/:jobId | Scan progress (SSE/poll) |
| GET | /api/v1/prompts/:siteId | List prompts |
| PUT | /api/v1/prompts/:pageId | Update page prompt |
| GET | /api/v1/analytics/:siteId/ai | AI analytics |
| GET | /api/v1/citations/:siteId | Citation monitor data |
| POST | /api/v1/tools/ai-score | Public discoverability scan |
| POST | /api/v1/keys | Create API key (scoped) |
| GET | /api/v1/analytics/:siteId/export | Programmatic analytics export |
Enterprise adds org, domain, branding, bulk-prompt, rules, export and audit endpoints.See the full reference →
Two ways in.
Embed the widget with one tag, or pull your data programmatically.
<script async
src="https://cdn.askthis.io/widget.js"
data-site-id="YOUR_ID">
</script>curl https://api.askthis.io/api/v1/analytics/site_123/ai \
-H "Authorization: Bearer ak_••••3f9a" \
-H "Content-Type: application/json"Events, pushed to you.
Subscribe your systems to outbound webhooks. Every delivery is signed — verify the signature before trusting it — and handlers should be idempotent; we retry on failure.
scan.completedscan.failedcredits.lowcredits.depletedcitation.detectedsubscription.updatedinvoice.paidsite.installedConnect AskThis to your AI.
Query your analytics, the questions people ask AI about your content, and your Cited Ask prompts straight from Claude, ChatGPT or any MCP client. It reuses your scoped API keys and stays read-only — the API is the only authorizer. Business+.
/mcp/publisher/mcp/data/mcp/protocolAsk AI Protocol
The open, versioned protocol behind AskThis's AI share — Cited Ask prompts, the Ask Targets registry, and the Ask Policy permission layer. It's free to implement and doesn't require an AskThis product. Read the protocol →
Contribute an engine ·Changelog ·FAQ ·Validate ·Governance & license
Ship it this afternoon.
Grab a key, read the docs, and put your content in the AI conversation.