> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mobileintelapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Batching

> Look up thousands of numbers quickly and safely.

If you have more than a handful of numbers, use the batch endpoint. One `POST` replaces thousands of round trips.

```bash theme={null}
curl -X POST "https://mobileintelapi.com/api/v1/verify" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "User-Agent: my-app/1.0" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+14169670000", "2122671234", "8002752273"]}'
```

```json theme={null}
{ "count": 3, "results": [ { "e164": "+14169670000", "verdict": "valid" }, { "e164": "+12122671234", "verdict": "valid" }, { "e164": "+18002752273", "verdict": "risky" } ] }
```

## Guidelines

* **Up to 10,000 numbers per call**; more returns `413`.
* **Send 2,000 or fewer per call over the public URL.** A full 10,000-number response is several megabytes and can hit an edge timeout.
* **Order is kept.** Result `i` is for input `i`. Bad numbers come back as `invalid` in their slot; they never fail the batch.
* **Run a few batches in parallel** if you need more speed, and retry a failed batch as a whole.

## Example: a big file in chunks

```python theme={null}
import requests

API = "https://mobileintelapi.com/api/v1/verify"
HEADERS = {"X-API-Key": "YOUR_API_KEY", "User-Agent": "my-app/1.0"}

def lookup_all(numbers, size=2000):
    out = []
    for i in range(0, len(numbers), size):
        chunk = numbers[i:i + size]
        r = requests.post(API, json={"numbers": chunk}, headers=HEADERS, timeout=120)
        r.raise_for_status()
        out.extend(zip(chunk, r.json()["results"]))
    return out
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.