AI-powered B2B company research engine. REST API + MCP server.
Base URL: https://research-agent.net
All requests require an API key passed via header:
X-Auth-Token: your_api_key_here
Get your API key from the dashboard. For MCP connections, use X-API-Key header instead.
POST /research call costs 1 creditPOST /agents/{id}/run costs 1 creditRun a one-off research query with web search and scraping. Returns structured or free-text output.
Parameters (query string)
| prompt | Required. The research instruction. |
| model | OpenRouter model ID. Default: google/gemini-2.5-flash |
| schema | JSON schema string for structured output. |
| temperature | 0.0-2.0. Default: 0.1 |
curl -X POST "https://research-agent.net/research" \ -H "X-Auth-Token: YOUR_API_KEY" \ --data-urlencode "prompt=Research Stripe Inc and find their ICP"
Response
{
"output": "Stripe is a financial infrastructure platform...",
"model_used": "google/gemini-2.5-flash",
"execution_time_seconds": 8.2
}
List all your agents.
Response
{ "agents": [{ "id": "uuid", "name": "...", "model": "...", "input_variables": [...], "is_active": true, ... }] }
Create a new agent.
Request body (JSON)
{
"name": "Company Enrichment",
"description": "Enrich company data",
"prompt_template": "Research {{company_name}} at {{website}} and find their ICP, tech stack, and funding.",
"input_variables": ["company_name", "website"],
"model": "google/gemini-2.5-flash",
"temperature": 0.1,
"output_schema": null
}
Get agent details by ID.
Update agent configuration. Only provided fields are changed.
Permanently delete an agent.
Execute an agent with input variables. Costs 1 credit.
Request body (JSON)
{ "company_name": "Stripe", "website": "https://stripe.com" }
Response
{
"agent_id": "uuid",
"agent_name": "Company Enrichment",
"output": { "icp": "...", "tech_stack": [...] },
"execution_time_seconds": 12.5,
"request_id": "A1B2C3D4"
}
List past runs for an agent.
Query parameters
| limit | Max results (default 50, max 200) |
List available pre-built agent templates.
Run an agent on hundreds of inputs asynchronously. Items execute concurrently (up to 5 at a time). Poll for progress and retrieve results when done.
Submit a bulk run job. Costs 1 credit per item (deducted upfront). Max 1000 items.
Request body (JSON)
{
"items": [
{ "company_name": "Stripe", "website": "https://stripe.com" },
{ "company_name": "Notion", "website": "https://notion.so" },
{ "company_name": "Linear", "website": "https://linear.app" }
]
}
Response
{
"job_id": "uuid",
"total_items": 3,
"status": "running"
}
List all bulk run jobs for an agent. Returns job_id, status, progress counts, timestamps.
Get bulk job status and progress.
Response
{
"id": "uuid",
"agent_id": "uuid",
"status": "running",
"total_items": 100,
"completed_items": 45,
"failed_items": 2,
"created_at": "2026-03-04T12:00:00Z",
"completed_at": null
}
Get individual item results (paginated).
Query parameters
| offset | Skip N items (default 0) |
| limit | Max items to return (default 50, max 100) |
Response
{
"job_id": "uuid",
"offset": 0,
"items": [
{
"id": "uuid",
"input_variables": { "company_name": "Stripe", "website": "https://stripe.com" },
"status": "completed",
"output": { "icp": "...", "tech_stack": [...] },
"execution_time_seconds": 11.2
}
]
}
Cancel a running bulk job. Completed items are kept.
Get current credit balance and recent transactions.
List available credit packs with prices.
Create a Stripe checkout session to purchase credits.
Get current user identity.
{ "id": "uuid", "email": "user@example.com", "display_name": "John", "created_at": "..." }
Get usage statistics.
| days | Lookback period in days (default 30) |
Regenerate your API key. Old key is deactivated.
Connect via MCP (Model Context Protocol) at https://research-agent.net/mcp
Auth: pass API key as X-API-Key header.
| research | Run a deep-web research query (1 credit) |
| list_agents | List all configured agents |
| get_agent | Get agent details by ID |
| create_agent | Create a new agent with prompt template |
| create_agent_from_template | Create agent from pre-built template |
| update_agent | Update agent configuration |
| delete_agent | Delete an agent |
| run_agent | Execute agent with input variables (1 credit) |
| list_agent_runs | List past runs for an agent |
| list_templates | List available agent templates |
| check_credits | Check credit balance |
| get_usage | Get usage statistics |
| get_me | Get current user identity |
| bulk_run_agent | Submit bulk job (1 credit/item) |
| get_bulk_run_status | Check bulk job progress |
| get_bulk_run_results | Get bulk job results (paginated) |
| cancel_bulk_run | Cancel a running bulk job |
| list_bulk_runs | List all bulk jobs for an agent |