# Truth Social Video API Documentation

Resolve the playable rendition ladder for a video from its external_video_id, which appears on media attachments in post responses. The video bytes are served from a third-party CDN, so the URLs are returned and never fetched. This is a separate endpoint on purpose: resolving the ladder is its own upstream request and is billed as one, instead of a silent second call inside a post request.

- **Documentation:** [https://scrappa.co/docs/truthsocial-api/truthsocial_video](https://scrappa.co/docs/truthsocial-api/truthsocial_video)
- **API group:** Truth Social API
- **Endpoint:** `GET https://scrappa.co/api/truthsocial/video`

## 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 |
| --- | --- | --- | --- |
| `video_id` | string | Yes | external_video_id from a media attachment. Do not use the filename in the media URL, which is a different identifier and returns 404. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/truthsocial/video?video_id=v7c2ykw"
```

## Example response

```json
{
    "success": true,
    "external_video_id": "v7c2ykw",
    "video": {
        "renditions": [
            {
                "url": "https://cdn.example/video/480p.mp4",
                "width": 854,
                "height": 480
            }
        ]
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not found | No public account, truth, tag or video matches the given identifier. One upstream lookup was performed and the request was not charged. |
| 422 | Validation error | A required identifier was missing or malformed. No upstream request was performed and nothing was charged. |
| 503 | Upstream unavailable | Truth Social could not be reached after safe retries. The request is not billed. A challenge, a regional block or a rate limit on our side is reported this way, never as a rate limit against you. The specific cause is recorded on your request log, not in this response. |

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