SEORCE API Reference
The SEORCE API lets you programmatically access your AI visibility data, integrate GEO analytics into your own dashboards, and build white-label reporting for your clients. The API is REST-based, returns JSON, and uses Bearer token authentication.
Authentication
All API requests require authentication using a Bearer token in the Authorization header. Your token is provisioned by SEORCE and does not expire. Tokens are scoped to your account and carry access to all projects and prompts within it.
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer <your-token> | Yes โ all requests |
| Content-Type | application/json | Yes โ all requests |
Base URL & versioning
All API endpoints are served from the base URL below. The version prefix is part of every endpoint path. When we release breaking changes, we increment the version number and maintain the previous version for a deprecation window.
| Version | Status | Notes |
|---|---|---|
| v1 | Active | Current production version. All new development. |
Error codes
The API uses standard HTTP status codes. All error responses return a JSON body with a status and message field.
| Status | Code | Meaning |
|---|---|---|
| 200 | OK | Request succeeded. Response body contains requested data. |
| 400 | Bad Request | Malformed request โ missing parameters or invalid format. |
| 401 | Unauthorized | Missing or invalid Bearer token. Check your Authorization header. |
| 404 | Not Found | The requested resource does not exist. |
| 429 | Too Many Requests | Rate limit exceeded. Reduce request frequency. |
| 500 | Server Error | Unexpected server error. If persistent, contact support. |
All error responses follow this structure:
"message": "Human-readable description of what went wrong"
Rate limits
There are currently no hard rate limits enforced on the API. However, we ask that you use it responsibly and implement caching where appropriate. We reserve the right to introduce rate limits with reasonable notice as usage scales.
White Label GEO API
The GEO API provides programmatic access to all your AI Beacon data โ brand mentions, citation positions, and LLM-level tracking across all your projects and prompts. Designed for agencies who need to embed AI visibility analytics into their own client dashboards.
Supported LLM platforms
The API returns data for any platform that has at least one completed run. Current supported platforms:
List all projects
Retrieves all projects for the authenticated account, including all prompts and their LLM data across every platform. This is the primary endpoint โ most integrations only need this one call.
Response โ project level
| Field | Type | Description |
|---|---|---|
| project_id | string | Unique identifier for the project |
| domain | string | Domain name associated with this project |
| prompts | array | Array of prompt objects. See prompt-level fields below. |
Response โ prompt level
| Field | Type | Description |
|---|---|---|
| prompt_id | string | Unique identifier for the prompt |
| prompt_text | string | The full question or prompt text being tracked |
| created_at | string (ISO) | Timestamp when the prompt was created |
| llm_data | object | Keyed by platform name. Contains mention and position data. |
Response โ per LLM platform (inside llm_data)
| Field | Type | Description |
|---|---|---|
| is_mentioned_in_latest_run | boolean | Whether the brand was cited in the most recent run |
| position_in_latest_run | number | null | 1-based citation position in the latest run. null if brand not mentioned. |
| total_mentions | number | Count of runs where the brand was mentioned |
| run_count | number | Total number of runs executed |
Get single project
Retrieves a single project by its ID, including all prompts and LLM data for that project only. Useful when your integration already knows the project ID and you want to avoid fetching all projects.
Path parameters
| Parameter | Type | Description |
|---|---|---|
| project_id | string | The project ID to fetch |
Get prompt detail
Retrieves data for a single prompt within a project. Returns full LLM data for all platforms for that specific prompt only.
Path parameters
| Parameter | Type | Description |
|---|---|---|
| project_id | string | The parent project identifier |
| prompt_id | string | The specific prompt identifier to retrieve |