Skip to main content
The Hikoo REST API exposes the same data you see in the dashboard, and the same surface the MCP server relays. Use it to pull GEO analytics into your own tools, scripts, or pipelines.
https://api.tryhikoo.com/api/v1/public

Authentication

Every request is authenticated with a personal API key passed as a Bearer token:
curl "https://api.tryhikoo.com/api/v1/public/me" \
  -H "Authorization: Bearer hk_your_api_key"
To create a key, go to Settings > API keys in the dashboard, click Create key, and copy it immediately: it starts with hk_ and is only shown once.
The same key works for both the REST API and the MCP server. It is tied to your user account and covers every workspace and website you belong to.
Treat keys like passwords: never commit them to a repository or expose them in client-side code. Revoke and recreate a key if it leaks.

Targeting a website

Most endpoints operate on a single website and take a website_id query parameter. To discover your websites:
  1. Call GET /workspaces/with-websites to list every workspace and the websites inside.
  2. Pick the id of the website you want.
  3. Pass it as ?website_id=<id> to the data endpoints.
curl "https://api.tryhikoo.com/api/v1/public/citations?website_id=123&page=1" \
  -H "Authorization: Bearer hk_your_api_key"
Data endpoints require an active subscription on the target website; without one they return 403 with an explanatory message.

Pagination

List endpoints accept page (1-based) and page_size parameters and return a consistent envelope:
{
  "items": [],
  "total": 240,
  "page": 1,
  "page_size": 20,
  "total_pages": 12
}

Rate limits

Requests are limited per API key to:
WindowLimit
Per minute60 requests
Per hour5,000 requests
Exceeding a limit returns 429 Too Many Requests. Note that MCP traffic using the same key counts against the same budget.

Errors

The API uses standard HTTP status codes. Error responses carry a detail field:
{ "detail": "Invalid or expired API key" }
StatusMeaning
401Missing, invalid, or expired API key
403No active subscription on the website, or a plan-gated feature
404Resource not found, or not visible to your account
422Invalid parameters (the response details which ones)
429Rate limit exceeded

REST API or MCP?

Both expose the same data with the same key.
  • REST API: your own code, scheduled jobs, BI pipelines, integrations.
  • MCP server: AI assistants like Claude exploring your data conversationally. See the MCP setup guide.