Social platforms

Get a Threads post by URL · Threads API

GET/threads/posts
$min $0.003

Returns one Threads post by URL with its author, media, counts, the rest of its thread, replies and related posts. Returns `not_found` when the post does not exist.

Using ChatGPT, Claude Code or another client? See the setup steps

Request
curl https://api.unifapi.com/threads/posts?url= \
  -H "Authorization: Bearer $UNIFAPI_KEY"

Parameters

urlqueryrequired
Link to the Threads post.
Overview

This operation is part of the Threads API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs Threads public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.

Common agent workflows

  • Fetch canonical public Threads content for summarization, ranking, monitoring, or enrichment.
  • Attach engagement, author, media, and source metadata to an agent workflow.
  • Give an AI agent a stable Threads data source without building a per-platform integration.
  • Normalize Threads responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • Lookup responses return one canonical object in `data` with stable identifiers, source URLs where available, and platform-specific metadata normalized into predictable JSON.
  • The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
  • A not-found or invalid-input condition uses the unified UnifAPI error shape, so callers do not need special handling for each source platform.

Response status codes

200400401402404429500502503

Billing

This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.

Response fields

Fields in the data object

A successful Get a Threads post by URL call returns one data object with these fields (12 of 19 shown — the docs list the full schema).

idstring | null
Post id.
shortcodestring | null
Public shortcode for the post.
urlstring | null
Canonical public Threads URL.
captionstring | null
Caption text.
created_atnumber | null
When the post was published (ISO-8601). Unix seconds.
is_replyboolean | null
Whether this post is a reply.
reply_controlstring | null
Reply audience setting when available.
unavailable_reasonstring | null
Reason when content is unavailable.
authorobject | null
Author when found.
like_countnumber | null
Like count when available.
view_countnumber | null
View count when available.
reply_countnumber | null
Direct reply count when available.
Run it

Agents & Skills built on Threads

You rarely call Get a Threads post by URL by hand. These prebuilt agents and skills already read Threads data inside Claude or Codex — start from one of them, or call this endpoint yourself.

Related endpoints

More Threads operations

Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.

GET/threads/users/{username}/reposts

List Threads reposts by a user

Return the posts a Threads user has reposted, by username, as a cursor-paginated list. Useful for inferring an account's interests and the content it amplifies.

GET/threads/resolve/media-id

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.

GET/threads/users/{username}/posts

List Threads posts authored by a user

Return the posts authored by a Threads user, by username, as a cursor-paginated list. Useful for profiling a creator's content, monitoring a brand, or building an archive.

GET/threads/search/profiles

Search Threads users by keyword

Search Threads accounts by keyword, returning matching public profiles. Useful for creator discovery, audience research, and finding accounts active on a topic. Bio and follower count can be empty in search results; fetch the profile for them.

GET/threads/search/recent

Search recent Threads posts

Search recent Threads posts by keyword, returning matches newest-first as a cursor-paginated list. Useful for tracking brand mentions, keywords, and breaking conversations in near real time.

GET/threads/search/top

Search top Threads posts

Search Threads posts by keyword, ranked by engagement, returning the top matches as a cursor-paginated list. Useful for surfacing the most resonant content on a topic.