Unif API Docs

Resolve a Threads post URL into its numeric media ID

Convert a public Threads post URL into its post code and numeric `media_id`. Accepts threads.com and threads.net links. Useful for normalizing saved links and matching identifiers across datasets. This identifier conversion does not verify that the post still exists or is publicly accessible.

Pricing — $ · min $0.001

Billed per record at 1 credit ($0.001) each, with a 1-credit ($0.001) minimum per call.

GET
/threads/resolve/media-id

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Query Parameters

url*string

Public HTTPS Threads post URL on threads.com or threads.net, including /@username/post/code.

Match^https:\/\/(?:www\.)?threads\.(?:com|net)\/@[A-Za-z0-9._]{1,30}\/post\/[A-Za-z0-9_-]{1,32}\/?(?:[?#].*)?$
Lengthlength <= 2048

Header Parameters

Unifapi-Version?"2026-07-01"

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Default"2026-07-01"

Value in

  • "2026-07-01"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/threads/resolve/media-id?url=string"
{  "request_id": "string",  "data": {    "code": "string",    "media_id": "string"  },  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}