Skip to content

Limits and fair use

60 requests per minute per authenticated user (OAuth token or API key).

This limit applies to both the MCP server and the REST API. Across all your clients combined: if you have Claude Code and Cursor both connected, they share the 60/min budget.

If you exceed the limit you receive a 429 Too Many Requests response. Wait one second and retry.

The get_signal_evidence MCP tool defaults to mode: "summary", which truncates excerpts to approximately 300 characters. This preserves your context window budget.

Pass mode: "full" only when you need the complete text for a piece of writing. Full mode returns up to 2000 characters per excerpt.

GET /api/signals/semantic-search performs a deep semantic match against the full signal corpus on every call. This is more expensive server-side than a keyword filter. Use it for genuine semantic discovery, not as a text filter you call in a loop.

If the semantic search service is temporarily unavailable, the endpoint returns 503 Service Unavailable. Retry with exponential backoff.

There is no bulk-export endpoint. The API is designed for per-signal and per-query access, not for downloading the full corpus. Attempting to paginate through all signals systematically is against fair use policy and may result in key suspension.

Brief generation (POST to /api/pain-signals/{id}/brief/generate) is not available via API key. It requires a user session and consumes daily quota. The MCP server and the REST API are read-only surfaces.

Some endpoints are cached server-side:

Endpoint Cache TTL
GET /api/dashboard/overview 5 minutes
GET /api/dashboard/trending 5 minutes
GET /api/dashboard/top 5 minutes
GET /api/meta/pipeline 60 seconds

Calling these more frequently than the TTL returns the cached response; the rate limit still applies.

EchoSift is a signal intelligence platform for developers, product teams, and founders making build decisions. API access is intended for:

  • Integrating EchoSift data into your agent workflows.
  • Automating market research and validation tasks.
  • Building internal dashboards or summaries.

It is not intended for competitive scraping, data resale, or training ML models on the corpus. Misuse may result in key revocation.