Skip to main content
Main content

API Reference

A read-only REST API to pull your AI visibility data into your own dashboards, reports, and pipelines. Available on the Concierge and Agency plans.

Authentication

Mint a key in Dashboard -> Settings -> API keys. The full key (edr_live_...) is shown once at creation - store it securely. Send it as a bearer token on every request:

curl https://edenrank.com/api/v1/me \
  -H "Authorization: Bearer edr_live_xxxxxxxx_..."

Keys are scoped to your account: a key can only read the workspaces you own. The API is read-only - it can never change data or spend, so a leaked key cannot mutate your account. Revoke a key any time from the same screen.

Base URL

https://edenrank.com/api/v1

Endpoints

GET/api/v1/me

Your account: plan, limits, and current usage.

GET/api/v1/brands

All your workspaces, each with its latest visibility score.

GET/api/v1/brands/{brand_id}

One workspace, its latest score, engine mode, and competitor count.

GET/api/v1/brands/{brand_id}/visibility?days=30

Daily visibility score history, most recent first (days: 1-365).

GET/api/v1/brands/{brand_id}/recommendations?status=open

Recommendations for the workspace (status: open, done, dismissed, all).

GET/api/v1/brands/{brand_id}/prompts

Tracked prompts for the workspace.

GET/api/v1/brands/{brand_id}/buyer-intent?days=30

Buying-intent lens: money-prompt visibility vs informational, current losses with the winning competitor, and the latest why-you-lose analysis (days: 7-90).

GET/api/v1/brands/{brand_id}/reputation

AI reputation snapshot: factual claims per engine, cross-engine conflicts, and suspected-false flags.

Example response

GET /api/v1/brands · illustrative response shape, not measured EdenRank data.

{
  "data": [
    {
      "id": "b1f2...",
      "name": "Example Brand",
      "domain": "example.com",
      "niche": "example category",
      "keywords": ["example question"],
      "created_at": "2026-05-02T10:00:00+00:00",
      "latest_score": {
        "date": "2026-06-11",
        "overall_score": 59.0,
        "share_of_voice": 22.5,
        "model_scores": { "chatgpt": 71, "perplexity": 64 }
      }
    }
  ],
  "count": 1
}

Rate limits

120 requests per minute per account. Exceeding the limit returns 429 Too Many Requests with a Retry-After header.

Errors

Need write access, webhooks for specific events, or a higher limit? Email support@edenrank.com and we will scope it with you.