Properties
| Name | Type | Description |
|---|---|---|
| endpoint | string | What to run. keywords/*, domain/*, ai/aimode and ai/grok also pass validation, but those endpoints are switched off in production, and ai/perplexity is paused. |
| request | object | The endpoint's parameters. Must include `q` (ai/* tasks also accept `prompt`), except for goto, which takes `url` or `urls`. rankings/check reads `keyword` and `domain` but still needs `q`. web reads |
| priority | integer | Higher runs first. |
| idempotencyKey | string | A repeat returns the existing task with no new charge. |
| webhook | object | POSTed when the task completes or fails. Any 2xx is delivered; otherwise it is retried after 5 minutes, 30 minutes, 2 hours and 12 hours. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/searlo-tech/json-schema/searlo-tech-async-task-spec-schema.json",
"title": "AsyncTaskSpec",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/searlo-tech-openapi.yaml#/components/schemas/AsyncTaskSpec",
"type": "object",
"required": [
"endpoint"
],
"properties": {
"endpoint": {
"type": "string",
"description": "What to run. keywords/*, domain/*, ai/aimode and ai/grok also pass validation, but those endpoints are switched off in production, and ai/perplexity is paused.\n",
"enum": [
"serp",
"news/serp",
"rankings/check",
"ai/chatgpt",
"ai/perplexity",
"ai/copilot",
"ai/gemini",
"web",
"maps",
"shopping",
"goto"
]
},
"request": {
"type": "object",
"additionalProperties": true,
"description": "The endpoint's parameters. Must include `q` (ai/* tasks also accept `prompt`), except for goto, which takes `url` or `urls`. rankings/check reads `keyword` and `domain` but still needs `q`. web reads the search service's own names (`num`, `start`, `country`, `language`); maps and shopping read `num` for the result count. For serp, news/serp and rankings/check a country `location` is applied as gl; a city or state fails the task at once (CITY_LOCATION_UNAVAILABLE, refunded).\n"
},
"priority": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50,
"description": "Higher runs first."
},
"idempotencyKey": {
"type": "string",
"maxLength": 128,
"description": "A repeat returns the existing task with no new charge."
},
"webhook": {
"type": "object",
"required": [
"url"
],
"description": "POSTed when the task completes or fails. Any 2xx is delivered; otherwise it is retried after 5 minutes, 30 minutes, 2 hours and 12 hours.\n",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "HTTPS, resolving to a public address."
},
"secret": {
"type": "string",
"maxLength": 256,
"description": "Signs each delivery: X-Searlo-Signature is v1= followed by the hex HMAC-SHA256 of \"<X-Searlo-Timestamp>.<raw body>\".\n"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/searlo-tech-async-task-spec"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.