Search

Slow

Unlimited background search, free on paid plans.

Open in…
Ask on Discord
What your agent reads
`POST https://api.keirolabs.cloud/api/v2/search/slow`

Cost: Free on paid plans · Latency: Varies with load

Long-form search for agentic and bulk workloads where an immediate answer is not required. Free and unlimited for paying customers, subject to our fair use policy.

**When to use it.** Use Slow for long-form, agentic, or bulk work where latency does not matter: enrichment passes, scheduled research jobs, background processing, dataset building. It is free and unlimited for paying customers (fair use policy applies), so it is the right default for anything that can wait rather than spending credits on Search.

**When not to.** Don't use Slow on interactive or latency-sensitive paths, where response times vary with load. Use Search for a sub-second SERP, or Search + Content when you need page text.

## Request

**cURL**

```bash
curl -X POST https://api.keirolabs.cloud/api/v2/search/slow \
  -H "Authorization: Bearer $KEIRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "companies hiring rust engineers in berlin"}'
```

**Python**

```python
import os, requests

res = requests.post(
    "https://api.keirolabs.cloud/api/v2/search/slow",
    headers={"Authorization": f"Bearer {os.environ['KEIRO_API_KEY']}"},
    json={
        "query": "companies hiring rust engineers in berlin"
    },
)
print(res.json())
```

**Node.js**

```js
const res = await fetch("https://api.keirolabs.cloud/api/v2/search/slow", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KEIRO_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "query": "companies hiring rust engineers in berlin"
  }),
});
console.log(await res.json());
```

## Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | yes | The search query (1-500 chars). |

## Response

```json title="200 OK"
{
  "query": "solid state battery progress 2026",
  "results": [
    {
      "title": "Solid-state batteries: 2026 progress report",
      "url": "https://example.com/solid-state-2026",
      "snippet": "Manufacturers reported pilot-line yields above 80% for the first time this year\u2026",
      "position": 1
    }
  ],
  "count": 1,
  "creditsCharged": 0,
  "creditsRemaining": 1141
}
```

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `results` | array | no | List of search results. |
| `results[].title` | string | no | Page title. |
| `results[].url` | string | no | Full URL of the result. |
| `results[].snippet` | string | no | Short text excerpt. May be empty when none is available. |
| `results[].position` | integer | no | Rank position (1 = top result). |
| `count` | integer | no | Number of results returned. |
| `creditsCharged` | number | no | Always 0 — Slow is free and unlimited for paying customers (fair use policy applies). |
| `creditsRemaining` | number | no | Your remaining credit balance (unchanged by this request). |

## Errors

| Status | Code | Cause | Fix |
| --- | --- | --- | --- |
| `400` | `VALIDATION_ERROR` | Missing query, or query longer than 500 characters | Send a non-empty query string of 1-500 chars. |
| `401` | `UNAUTHORIZED` | Missing or invalid API key | Check your Authorization: Bearer header. |
| `403` | `PLAN_UPGRADE_REQUIRED` | Slow is free and unlimited for paying customers — it is not available on the free plan | Upgrade to any paid plan at /dashboard/billing. |
| `502` | `SEARCH_UNAVAILABLE` | Search backend unreachable | Nothing was charged. Retry with exponential backoff. |
| `503` | `SERVICE_BUSY` | High demand | Nothing was charged. Wait for Retry-After seconds, then retry. |

## Rate limits

| Tier | Limit |
| --- | --- |
| Free | Not available |
| Starter | 30/min |
| Pro | 60/min |
| Startup | 120/min |
| Enterprise | 240/min |

Over the limit you get a `429`. See [Rate limits](/rate-limits) for headers and backoff.
Every page: append .md to the URL. Whole site: /llms.txt · /llms-full.txt
POSThttps://api.keirolabs.cloud/api/v2/search/slow
Free on paid plansVaries with loadTry it in the playground

Long-form search for agentic and bulk workloads where an immediate answer is not required. Free and unlimited for paying customers, subject to our fair use policy.

When to use it. Use Slow for long-form, agentic, or bulk work where latency does not matter: enrichment passes, scheduled research jobs, background processing, dataset building. It is free and unlimited for paying customers (fair use policy applies), so it is the right default for anything that can wait rather than spending credits on Search.

When not to. Don't use Slow on interactive or latency-sensitive paths, where response times vary with load. Use Search for a sub-second SERP, or Search + Content when you need page text.

Request

curl -X POST https://api.keirolabs.cloud/api/v2/search/slow \
  -H "Authorization: Bearer $KEIRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "companies hiring rust engineers in berlin"}'

Parameters

Prop

Type

Response

200 OK
{
  "query": "solid state battery progress 2026",
  "results": [
    {
      "title": "Solid-state batteries: 2026 progress report",
      "url": "https://example.com/solid-state-2026",
      "snippet": "Manufacturers reported pilot-line yields above 80% for the first time this year\u2026",
      "position": 1
    }
  ],
  "count": 1,
  "creditsCharged": 0,
  "creditsRemaining": 1141
}

Prop

Type

Errors

StatusCodeCauseFix
400VALIDATION_ERRORMissing query, or query longer than 500 charactersSend a non-empty query string of 1-500 chars.
401UNAUTHORIZEDMissing or invalid API keyCheck your Authorization: Bearer header.
403PLAN_UPGRADE_REQUIREDSlow is free and unlimited for paying customers — it is not available on the free planUpgrade to any paid plan at /dashboard/billing.
502SEARCH_UNAVAILABLESearch backend unreachableNothing was charged. Retry with exponential backoff.
503SERVICE_BUSYHigh demandNothing was charged. Wait for Retry-After seconds, then retry.

Rate limits

TierLimit
FreeNot available
Starter30/min
Pro60/min
Startup120/min
Enterprise240/min

Over the limit you get a 429. See Rate limits for headers and backoff.

Let your agent build it

Paste one prompt into Claude Code, Cursor, Codex or Windsurf. It installs Keiro MCP, reads these docs and writes the integration against the real API.

Ask on Discord

On this page