Skip to main content
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: 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.
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

string
required
Bearer token for all protected endpoints. Send your session token (preferred) or Clerk JWT.
string
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 an X-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 are application/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": {...}}.
When consuming NDJSON streams, parse on the event field and ignore any event types you don’t recognize. The protocol is forward-compatible — new event types may be added without a version bump.

Health and status endpoints

These endpoints are public — no Authorization header required.

GET /health

Returns the current liveness of the API and its database dependency.
200 response
string
required
Overall API health. Either ok or degraded.
string
required
Database connectivity. Either ok or unreachable.
object

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.