Get Recent Posts from a Public Account

View all X (Twitter) Public Data API endpoints →

Pass required screenname to read an account's recent timeline. Optional rest_id overrides the handle selection but does not remove the schema requirement for screenname. Leave cursor empty on the first request, then use the returned next_cursor unchanged for later pages. The observed response has status=ok, timeline, user, next_cursor and prev_cursor. Timeline entries include tweet_id, text, created_at, favorites, retweets, replies, quotes, bookmarks, views, entities, author and media. Reposts can include retweeted and retweeted_tweet; author fields can be null, and views may be a numeric string. Verify author.rest_id against the target, preserve IDs as strings and deduplicate tweet_id across pages. Stop on a missing, empty or repeated next_cursor. Returned page sizes and available history vary; this is not a complete historical archive or a streaming feed.

API Features

Account-scoped recent activity The observed timeline contains recent account activity plus a user object; it is not a keyword-matching result set.
Repost-aware timeline records Returned entries can carry retweeted and retweeted_tweet alongside the account-level post, enabling separate repost treatment.
Timeline engagement field mapping Observed timeline counters use favorites for likes, plus retweets, replies, quotes, bookmarks and string-valued views.
Bounded cursor collection next_cursor supports continuation; deduplicate tweet_id and terminate on absent, empty or repeated cursors without assuming a fixed page size.

Live API Demo

GET /api/project/twitter/user-timeline

API Response (JSON)

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

Use Cases

Frequently asked questions

How do I paginate an account timeline with next_cursor?

Send required screenname without cursor for the first page, then pass next_cursor unchanged as cursor for the same account. Stop on a missing, empty or repeated cursor and deduplicate tweet_id. Optional rest_id overrides account selection but does not remove required screenname.

Does this endpoint return every historical tweet by the account?

No complete-history or streaming guarantee is established. Returned page sizes and available history vary. Check author.rest_id against the resolved target and distinguish repost activity, embedded retweeted_tweet content and null authors when building an authored-post dataset.

Related operations

Guides

View Subscription Plans →