The ManticScore API gives you programmatic access to the full platform — market research pipelines, build graphs, competitive signals, AI chat, and more. All endpoints are served from a single base URL, speak JSON (or NDJSON for streaming), and follow predictable patterns for authentication, pagination, and error reporting. Whether you’re building an integration, automating workflows, or shipping a client app, this reference covers the rules that apply everywhere. Base URL:Documentation Index
Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt
Use this file to discover all available pages before exploring further.
https://api.manticscore.com
The API currently exposes 128+ routes across 29 resource families. All routers are mounted at the root — there is no global path prefix.
Authentication modes
Every endpoint uses one of four authentication modes. You’ll see these called out on each route.| Mode | Description |
|---|---|
| Required | Clerk JWT or session token in the Authorization: Bearer header |
| Stream | Same as Required, but extends the session TTL on connect for long-lived NDJSON streams |
| Public | No Authorization header needed |
| OAuth redirect | Receives a code/state from GitHub or Composio — not called directly by your app |
Most routes use Required auth. Obtain a session token by exchanging your Clerk JWT at
POST /auth/session. See Authentication for the full flow.Global request headers
Bearer token for all protected endpoints. Send your session token (preferred) or Clerk JWT.
Optional on
POST /research and POST /projects/research. Providing a unique key prevents duplicate jobs when the same request is retried — the server replays the original response instead of starting a new pipeline.Response headers
Every response from the API includes anX-Request-ID header containing a 16-character hex string. Include this value when filing a bug report or opening a support request — it uniquely identifies the server-side trace for that call.
Response format
Responses areapplication/json unless the endpoint is a streaming resource, in which case the content type is application/x-ndjson. Streaming endpoints use the NDJSON v1 protocol: each line is a complete JSON object with the shape {"v": 1, "event": "<type>", "data": {...}}.
Health and status endpoints
These endpoints are public — noAuthorization header required.
GET /health
Returns the current liveness of the API and its database dependency.200 response
Overall API health. Either
ok or degraded.Database connectivity. Either
ok or unreachable.GET /version
Returns version and host metadata only — lighter than/health because it skips the database probe.
200 response
GET /status
Returns the full route registry grouped by client, plus database and deployment state. Useful for verifying which endpoints are registered on the running instance.200 response
By default,
GET /status returns an HTML page. Pass Accept: application/json to get the machine-readable response shown above.