PRESENSS REST API
Available on Growth and aboveQuery AI visibility scores, list citations, and trigger scans programmatically. Base URL: https://presenss.com/functions/v1/api-v1
Authentication
All requests require an API key in the Authorization header:
Authorization: Bearer prsnss_live_xxxxxxxxxxxxxxxxEndpoints
/v1/scoreGet the current PRSNSS Score for a domain.
Parameters
| Name | Required | Default | Description |
|---|---|---|---|
| domain | yes | — | Root domain to query, e.g. example.com |
| language | no | en | Two-letter language code (en, es, fr, de, pt) |
Example request
curl https://presenss.com/functions/v1/api-v1/score \
-H "Authorization: Bearer YOUR_KEY" \
-G -d "domain=example.com"Example response
{
"domain": "example.com",
"score": 74,
"engines": {
"chatgpt": 82,
"gemini": 71,
"claude": 68,
"perplexity": 75
},
"updated_at": "2026-06-30T12:00:00Z"
}/v1/citationsList recent AI citations for a domain.
Parameters
| Name | Required | Default | Description |
|---|---|---|---|
| domain | yes | — | Root domain to query |
| limit | no | 10 | Max number of results (max 100) |
| engine | no | — | Filter by engine: chatgpt, gemini, claude, perplexity, grok, copilot |
Example request
curl https://presenss.com/functions/v1/api-v1/citations \
-H "Authorization: Bearer YOUR_KEY" \
-G -d "domain=example.com" -d "limit=20" -d "engine=chatgpt"Example response
{
"domain": "example.com",
"citations": [
{
"engine": "chatgpt",
"prompt": "best CRM for startups",
"source_url": "https://example.com/crm-guide",
"cited_at": "2026-06-29T08:14:22Z"
}
],
"count": 20
}/v1/scanTrigger a new scan for a domain across selected AI engines.
Request body
{
"domain": "example.com",
"engines": ["chatgpt", "gemini"]
}Example request
curl -X POST https://presenss.com/functions/v1/api-v1/scan \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com","engines":["chatgpt","gemini"]}'Example response
{
"job_id": "8b7c4f2e-...",
"status": "queued"
}⚠️ Each scan counts against your monthly simulation quota.
/v1/scan/:job_idCheck the status of a previously triggered scan.
Parameters
| Name | Required | Default | Description |
|---|---|---|---|
| job_id | yes | — | Job ID returned by POST /v1/scan |
Example request
curl https://presenss.com/functions/v1/api-v1/scan/8b7c4f2e-... \
-H "Authorization: Bearer YOUR_KEY"Example response
{
"status": "running",
"progress": 0.75,
"result_url": null
}Rate limits
| Plan | Requests / minute | Requests / day |
|---|---|---|
| Free | — | No API access |
| Starter | — | No API access |
| Growth | 60 | 1,000 |
| Pro | 300 | 10,000 |
| Business | Unlimited | Unlimited |
Exceeding limits returns 429 Too Many Requests. Need higher limits? Contact sales.