# Threads Post Search

Search public Threads posts and return the richest post shape on this platform, including canonical URL, media type, audience, detected language, accessibility caption, music info, place, and related OCR and transcript text. Keep a leading # to select the hashtag result set. A genuine zero-result search returns an empty array and is billed; only an unrecognisable upstream document is a failure. Responses cover page 1 only.

- **Documentation:** [https://scrappa.co/docs/threads-api/threads_search](https://scrappa.co/docs/threads-api/threads_search)
- **API group:** Threads API
- **Endpoint:** `GET https://scrappa.co/api/threads/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | Search text, or a hashtag with a leading #. |

## Example response

```json
{
    "meta": {
        "attempts": 1,
        "duration_ms": 1600,
        "endpoint_family": "threads_search"
    },
    "posts": [],
    "search_parameters": {
        "query": "climate",
        "engine": "threads_search"
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | Returned, and not billed, when the handle, post code or hashtag does not exist or is not publicly available. |
| 422 | Validation Error | Returned, and not billed, when a parameter is missing or outside its allowed range. |
| 503 | Service Unavailable | A retryable, non-billable failure. The upstream returned a degraded or unreadable response, or the request budget ran out. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
