Twitter Tweet Scraper
A public X post pairs its text and publication time with an author, media, hashtags, mentions, visible reactions, and links to the surrounding conversation. Capturing that combination for a known URL makes post catalogs, review sets, and point-in-time comparisons more complete.
Features
- Exact status URL resolutionResolve one or more public x.com or twitter.com links whose path contains a numeric status ID.
- Post and author contextReturn the canonical post ID and URL, full text, language, publication time, and the author's public identity and profile link.
- Engagement, media, and entitiesKeep likes, replies, reposts, quotes, views, bookmarks, media references, hashtags, and mentions beside the post.
- Conversation and source contextPreserve reply, conversation, quote, repost, source, and submitted-URL identifiers so a known post remains traceable.
Parameters
| Parameters | Required | Description |
|---|---|---|
urls | Required | Required list of public x.com or twitter.com status URLs. Each URL must contain a numeric post ID in its /status/ path. |
How to Use
Validate the post links first, then resolve the exact status records through one asynchronous lookup task.
- Check that every public x.com or twitter.com URL contains /status/{numeric_id}.
- POST the validated urls array to /v1/x/posts and store the returned task_id.
- Poll /v1/tasks/{task_id} until the lookup succeeds or fails.
- Collect data.results.items after completion, following next_cursor until has_more becomes false.
curl -X POST "https://api.socq.ai/v1/x/posts" \
-H "Authorization: Bearer $SOCQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls":["https://x.com/OpenAI/status/1950240351547248941"]}'
# Poll GET /v1/tasks/{task_id}
# Read data.results.items and follow next_cursor while has_more is trueBest Use Cases
- Complete a post-link catalog: Replace bare X links with searchable text, author identity, media references, entities, publication time, and stable post IDs.
- Document campaign posts: Capture the exact content, author, media, relationship context, and collection-time engagement for an approved set of campaign URLs.
- Compare selected post snapshots: Resolve the same post IDs at defined intervals and compare likes, replies, reposts, quotes, views, and bookmarks by collected_at.
Pro Tips
- Reject links without a numeric /status/ ID before submission so profile and search URLs never enter the lookup batch.
- Extract the post ID from x.com and twitter.com variants, then deduplicate on that ID rather than the full URL string.
- Pair every engagement comparison with collected_at because public counters continue to change after lookup.
- Treat media arrays and reply, quote, or repost identifiers as optional when storing heterogeneous post records.
Related APIs
Use these APIs when you need a different type of public X data.
- Twitter Profile Scraper API — Retrieve public account identity, biographies, avatars, cover images, account status, and visible audience statistics by username.
- Twitter User Tweets Scraper API — Collect recent public posts, authors, media, hashtags, mentions, and engagement by username with replies excluded.
- 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.