Submit an async analysis request
Submit one or more prompts for asynchronous analysis across selected providers and ISO location codes. Project-scoped API keys use the project analysis brand. Organization-scoped API keys must provide `brandName` and spend prepaid API credits.
POST /async-analysis
Submit an async analysis request
Submit one or more prompts for asynchronous analysis across selected providers and ISO location codes. Project-scoped API keys use the project analysis brand. Organization-scoped API keys must provide `brandName` and spend prepaid API credits.
Authentication: API key required (Bearer token)
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
prompt | string | No | The search prompt to analyze across selected providers and locations (max 5,000 characters). Use either prompt or prompts. |
prompts | array | No | Multiple search prompts to analyze as one async request. Use either prompt or prompts. Total credits reserved = prompts.length × replicates × providers.length × locations.length. |
brandName | string | No | Target brand used to compute analysis metrics. Required when using an organization-scoped API key; ignored/rejected for project-scoped keys where the project analysis brand is used. |
replicates | integer | Yes | Number of replicates to run per provider-location pair. Total credits reserved = replicates × providers.length × locations.length. |
providers | array | Yes | Provider IDs to run for this async analysis. Invalid provider-location combinations are rejected with a 400 error. |
locations | array | Yes | ISO 3166-1 alpha-2 location codes to run for this async analysis. Invalid provider-location combinations are rejected with a 400 error. |
webhook | object | No | Optional webhook configuration. When provided, the webhook is called on both analysis success and failure, with automatic retries for up to 24 hours if delivery fails. |
Request Example
curl -X POST https://sellm.io/api/v1/async-analysis \
-H "Authorization: Bearer sellm_your_api_key_here" \
-H "Content-Type: application/json"
Responses
| Status | Description |
|---|---|
202 | Async analysis accepted for processing. The analysis has been queued but has not necessarily started yet. Use the GET endpoint to poll for status and results. |
400 | Bad request |
401 | Unauthorized |
403 | Feature not enabled or credits exceeded |
404 | Project not found |
429 | Rate limited |
500 | Internal error |