# Threads Post Embed

Validate a Threads post permalink and return the official embed block for it, using the public tokenless oEmbed endpoint. This is a permalink validator and canonical URL resolver, not a high-volume data source: the upstream applies a rate ceiling of about 1000 requests per hour, so keep it off bulk paths. A permalink that is not a valid Threads post returns a 404 and is not billed.

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

## 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 |
| --- | --- | --- | --- |
| `url` | string | Yes | Full Threads post permalink. |

## Example response

```json
{
    "meta": {
        "attempts": 1,
        "duration_ms": 420,
        "endpoint_family": "threads_oembed"
    },
    "embed": {
        "type": "rich",
        "version": "1.0"
    },
    "search_parameters": {
        "url": "https://www.threads.net/@nasa/post/DXF7y9nl2dj",
        "engine": "threads_oembed"
    }
}
```

## 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)
