EasyDown API Docs
Platform Video Downloader APIs

Threads Video Downloader API

Use EasyDown's Threads video downloader API for supported public URLs. Return downloadable video, images, audio, and sanitized platform data.

EasyDown matches the requested shortcode in the upstream result instead of assuming the first returned item is correct, then exposes the complete post media through the shared REST schema.

Use it to build a Threads video downloader for supported public post URLs without returning unrelated posts.

Use this endpoint when you need platform-specific fields in addition to stable downloadable media.

Endpoints

POST https://api.easydown.org/api/v1/platforms/threads/parse

Supported URL formats

  • threads.com/@{user}/post/{id}
  • threads.net/@{user}/post/{id}
  • threads.com/share/{code}

Accepted examples

  • https://www.threads.com/@eekeai/post/DDhV3LWhrlk
  • https://www.threads.com/share/BAVE8ZDthE/

What the platform response contains

Media posts can return every valid video version and each image in a carousel. Duplicate source variants may remain when they represent separate upstream candidates.

Published platform data fields

The API preserves additional public fields from the final target object after recursive sensitive-field filtering. The documented fields below remain stable for this platformDataVersion.

FieldTypeDescription
data.mediaobjectNormalized images, videos, audios, title, thumbnail, and duration.
data.platformDataVersionstringPublished data contract version for Threads; currently 1.
data.platformData.idstringThreads post identifier.
data.platformData.codestringPublic post shortcode.
data.platformData.textstringPublic post text when exposed.
data.platformData.userobjectPublic author profile fields.
data.platformData.imagesarrayImage items attached to the target post.
data.platformData.video_versionsarrayPlayable video renditions attached to the target post.
data.platformData.carousel_mediaarrayAll media items in a carousel post.
{
  "status": 200,
  "data": {
    "media": {
      "platform": "threads",
      "title": "Example public post",
      "thumbnail": "https://public-cdn.example/cover.jpg",
      "duration": 18,
      "images": [],
      "videos": [
        {
          "url": "https://public-cdn.example/video.mp4",
          "quality": "1080p",
          "mimeType": "video/mp4",
          "width": 1920,
          "height": 1080,
          "hasAudio": true,
          "source": "direct"
        }
      ],
      "audios": []
    },
    "platformData": {
      "id": "example-thread-id",
      "code": "DDhV3LWhrlk",
      "text": "Example public Threads post",
      "user": {
        "username": "creator"
      },
      "images": [
        {
          "url": "https://media.example/image.jpg",
          "width": 1080,
          "height": 1350
        }
      ]
    },
    "platformDataVersion": "1"
  },
  "msg": "success"
}

Download and proxy guidance

Use a backend proxy with a browser User-Agent and the matching Threads origin as Referer. Store returned media URLs only briefly because source signatures and variants can change.

Limits and behavior

Text-only posts, profiles, feeds, replies, search results, private posts, and deleted posts return no downloadable media.

Only public content is supported. Private, deleted, age-restricted, region-restricted, live, or otherwise unavailable content can fail without a credit charge.

A response is charged only after downloadable media is returned. Each successful parse costs 1 credit. Authentication, validation, permission, unavailable-content, no-media, and upstream failures are not charged.

Troubleshooting

  • Use the canonical post shortcode URL, including threads.com or threads.net.
  • Treat text-only success responses as no-media results.
  • Keep every returned carousel image instead of selecting only the first item.

Common questions

Does a failed request consume credits?

No. A credit is charged only after the API returns downloadable media.

The post can be deleted, private, region-restricted, live, missing media, or temporarily unavailable upstream.

Interactive API reference

The curl, JavaScript, and Python examples and schemas below are rendered from the production OpenAPI 3.1 contract.

The Try it panel sends requests directly to api.easydown.org. Its token is held in React memory only and disappears on reload.

POST

Try it

A successful response with downloadable media costs 1 credit. Failed requests are not charged.

The token stays only in this page memory and is cleared when the page is closed or reloaded.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/platforms/threads/parse" \  -H "Content-Type: application/json" \  -d '{}'
{  "status": 200,  "data": {    "media": {      "platform": "tiktok",      "title": "string",      "thumbnail": "string",      "duration": 0,      "images": [        {          "url": "http://example.com",          "width": 0,          "height": 0        }      ],      "videos": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "width": 0,          "height": 0,          "hasAudio": true,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ],      "audios": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "bitrate": 0,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ]    },    "platformData": {      "id": "string",      "code": "string",      "text": "string",      "user": {},      "images": [        null      ],      "video_versions": [        null      ],      "carousel_media": [        null      ]    },    "platformDataVersion": "1"  },  "msg": "success"}