Retrieve Available Posts for a Threads Username

View all Threads Public Data API endpoints →

Provide a required Threads username, not a display name or numeric account ID, to retrieve the available public account posts. The response includes status, request_id and data.posts. Iterate data.posts[], then node.thread_items[], and read each post; the observed account collection contained threads with multiple items. Post fields include pk and id as strings, code, user.username, caption.text when available, taken_at as Unix seconds and like_count. A collection id may contain an account suffix, so preserve it intact rather than coercing it to a number. This is an available content sample, not a complete posting history. data.cursor was present, but username is the only supported input; there is no cursor, page, limit, date-range or sort parameter. Store retrieval times and deduplicate identifiers when comparing repeated account observations. Content visibility and availability can change, and absent metrics must remain unknown.

API Features

Handle-based account collection Retrieve available public content for one supplied username without first converting it to a numeric account identifier.
Multi-item account threads Iterate data.posts[], then node.thread_items[], and read each post so every returned item is retained, including several posts within the same thread.
Original account-post identifiers Retain pk, potentially composite id and shortcode code as separate strings for later deduplication and post-detail lookup.
Author-attributed content observations Pair returned user.username, caption.text and taken_at with your retrieval time to document which account content was observed.

Live API Demo

GET /api/project/threads-scraper/list-user-posts

Request cost is temporarily unavailable. No price is assumed.

View pricing

API Response (JSON)

{}
curl -X GET 'https://api.opendata-api.com/api/project/threads-scraper/list-user-posts?key=<API_KEY>&username=zuck'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

Frequently asked questions

Does each entry in data.posts represent exactly one post?

No. Each entry contains node.thread_items, which may include several posts. Iterate data.posts[], then node.thread_items[], and read every post before building a digest, counting posts or exporting records.

Can I retrieve the account's entire posting history?

This endpoint retrieves the public collection currently available through the username lookup, not a guaranteed complete history. It exposes no pagination input, even if data.cursor is returned. Do not add cursor, page or other undocumented parameters.

Why can a collection post ID differ from the ID returned by post details?

The observed collection included an id with a post-and-account suffix, while pk held the numeric-looking post identifier and code held the shortcode. Preserve all values as strings. Use code for the post-detail operation rather than assuming all identifier fields are interchangeable.

Can I filter account posts by date or force newest-first ordering?

No date, sort or limit input is defined; username is the only parameter. Apply any date filtering or ordering to the returned sample in your application, without assuming that omitted posts are unavailable or that the sample is exhaustive.

Related operations

Guides

View Subscription Plans →