Twitter User Tweets Scraper
An X account timeline is a sequence of recent public posts tied to one username, including publication times, content, media, author context, and visible engagement. Comparing these sequences across a defined account set reveals publishing cadence, recurring subjects, and changes in content mix.
Features
- Timelines for multiple usernamesSubmit one or more public X usernames, with or without a leading @, and collect recent posts for every account in the task.
- A cleaner view of recent publishingReplies are excluded from collection, keeping the returned timeline focused on the account's recent public posting activity.
- A separate cap for each accountresults_limit applies independently to every username and accepts multiples of 20 from 20 to 2,000, with 20 used by default.
- Content ready for account analysisEach post can include text, language, author details, visible engagement, media, entities, timestamps, and conversation relationships.
- Traceable account and collection sourceextra.input_username identifies the submitted account while collected_at records when the timeline snapshot was gathered.
Parameters
| Parameters | Required | Description |
|---|---|---|
usernames | Required | Required list of public X usernames. Each value may include or omit a leading @. |
results_limit | Optional | Optional maximum requested separately for each username. Defaults to 20 and accepts multiples of 20 from 20 to 2,000. |
How to Use
Define the accounts you want to observe, give each one the same collection depth, and turn their recent timelines into comparable records.
- Add one or more public X usernames; the leading @ is optional.
- Set results_limit for each account using a multiple of 20 from 20 to 2,000.
- POST the request to /v1/x/user-posts and poll /v1/tasks/{task_id} until the task completes.
- Append data.results.items, using next_cursor whenever another result page is available.
curl -X POST "https://api.socq.ai/v1/x/user-posts" \
-H "Authorization: Bearer $SOCQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"usernames":["nasa","OpenAI"],"results_limit":40}'
# Poll GET /v1/tasks/{task_id}
# Read data.results.items and follow next_cursor while has_more is trueBest Use Cases
- Maintain an account watchlist: Group recent posts by extra.input_username to keep a current view of selected brands, creators, competitors, or public organizations.
- Compare publishing cadence: Use created_at to measure how often each account posts and identify changes in timing, media use, or recurring subjects.
- Build a recent-post corpus: Combine text, author, media, entity, and engagement fields into an account-attributed dataset for classification or content review.
Pro Tips
- Remove leading @ symbols and deduplicate usernames case-insensitively before submission.
- Use the same results_limit, in a valid multiple of 20, when comparing activity across accounts.
- Treat results_limit as a per-account cap because an account can return fewer eligible recent posts.
- Deduplicate scheduled collections by post id before adding records to an existing timeline dataset.
- Use created_at for publishing chronology and collected_at for the age of the captured snapshot.
Related APIs
Use these APIs when you need a different type of public X data.
- Twitter Tweet Scraper API — Retrieve public post text, authors, engagement, media, hashtags, mentions, and conversation relationships from x.com or twitter.com status URLs.
- Twitter Profile Scraper API — Retrieve public account identity, biographies, avatars, cover images, account status, and visible audience statistics by username.
- Twitter Search API — Find public posts by search expression with latest or top ordering and a configurable result limit.
Combine X data with public data from other supported social platforms.