ManticScore exposes its full AI pipeline through a REST API atDocumentation 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. This guide walks you through the complete flow: exchanging your Clerk JWT for a session token, loading your profile with a single bootstrap call, submitting a market research job, and streaming the results as they come in. By the end you’ll have a working script you can adapt for any product idea.
You need a ManticScore account and a Clerk JWT before starting. See Authentication for how to obtain your JWT from the Clerk dashboard or SDK.
Prerequisites
- A ManticScore account
- Your Clerk JWT (retrieved from the Clerk dashboard or your client SDK)
Complete walkthrough
Exchange your Clerk JWT for a session token
Every request to the ManticScore API uses a short-lived session token, not your raw Clerk JWT. Send your Clerk JWT to Response:Save the
POST /auth/session to receive a token.token value. You’ll pass it as a Bearer token on every subsequent request. The token is valid for 30 minutes — call POST /auth/session again with your Clerk JWT to refresh it.Load your profile with the bootstrap call
Before starting any work, call Response:
GET /auth/bootstrap. This single endpoint returns your profile, subscription details, and connected secrets in one shot — use it to confirm you’re authenticated and to check your available credits.Submit a market research job
Send a Request body:
Response 202 — queued:
POST /projects/research request with your product idea. The API queues the job immediately and returns a job_id you’ll use to stream progress.| Field | Type | Required | Description |
|---|---|---|---|
idea | string | Yes | Your product idea (max 5,000 characters) |
description | string | No | Optional additional context (defaults to "") |
mode | string | No | market (default) or feature |
If ManticScore has seen a similar idea before, it may return
200 with "cache_action": "clone" and "status": "completed" — meaning results are already available and no streaming is needed.Stream progress events
Connect to Sample stream output:Event types:
GET /research/{job_id}/events to receive real-time progress over NDJSON. Each line is a JSON object describing a stage, progress update, or final result.| Event | Description |
|---|---|
stream_start | Stream opened; pipeline is starting |
stage | A named pipeline stage has begun (interpret, search, judge, analyze, synthesize, persist) |
progress | Incremental progress update within a stage |
result | Final research output — parse this for results |
error | A non-fatal error occurred in the pipeline |
done | Stream is complete; safe to disconnect |
Complete Python example
Here is the full end-to-end script combining all four steps:quickstart.py
Next steps
Authentication
Learn about session token TTLs, refreshing tokens, and error handling.
Market research
Explore the full research response schema and how to read results.
NDJSON streaming
Understand the streaming protocol and reconnection with cursors.
Credits
See how credits work and what each operation costs.