Paste tweet links, get full post data back. No login, no API key, thousands of posts per run.
Hydrate any specific X / Twitter post by URL or tweet ID and get the complete record for each one — full post text, author, and every engagement metric (likes, retweets, replies, quotes, bookmarks and views), plus media, hashtags, mentions, links, language and the publish date. Give it the exact tweet links you already care about and it turns each one into a clean, structured row. No login, no cookies, no developer API key — zero account-ban risk.
This is the practical X / Twitter API alternative for enriching tweet URLs you already have: a marketing report full of post links, a spreadsheet of competitor tweets, a list of press mentions. Instead of copy-pasting metrics by hand, drop the links in and export the full data as JSON, CSV, Excel, JSONL or XML.
One structured record per post. Real output fields:
| Field | What it contains |
|---|---|
tweetId |
Numeric tweet ID (rest_id) |
url |
Canonical x.com/.../status/… link |
text |
Full post text — long-form note text captured when present |
createdAt |
When the post was published |
lang |
Detected language code |
likeCount |
Number of likes |
retweetCount |
Number of retweets |
replyCount |
Number of replies |
quoteCount |
Number of quote posts |
bookmarkCount |
Number of bookmarks |
viewCount |
Views / impressions (null when unavailable) |
isReply / isQuote / isRetweet |
Post-type boolean flags |
hashtags |
Hashtags used in the post |
mentions |
Handles mentioned in the post |
urls |
Expanded links in the post |
media |
Attached media (type + url) |
author |
Author object — userId, username, name, followers, verified |
input |
The original URL / ID this row was requested with |
error |
Error message if the post was unavailable (deleted / protected) |
scrapedAt |
ISO timestamp when the row was collected |
- Engagement & PR reporting — pull likes, views, retweets and bookmarks for a set of campaign or press posts and drop them straight into a report.
- Content archiving — snapshot specific tweets (text + metrics + media) before they change or get deleted.
- Research & fact-checking — capture the exact data behind a tweet link for citations and evidence.
- Tweet-URL data enrichment — hydrate tweet URLs you collected elsewhere into full records with author and engagement.
- Influencer verification — confirm the real engagement on posts a creator cites in a pitch deck.
- Thread & campaign audits — hydrate a list of your own posts to build a per-post performance table.
- Competitor watch — track how a rival's specific announcement posts perform over time.
- Open the X Post URL Scraper page and click Try for free.
- Paste one or more tweet URLs (or bare tweet IDs) into Tweet / post URLs. Leave it empty to fetch a demo post.
- Click Start, then export the results from the Output tab.
npm i -g apify-cli
apify login
apify call logiover/x-post-url-scraper --input='{
"postUrls": ["https://x.com/NASA/status/2059393717111308634", "2059393717111308634"]
}'curl -X POST "https://api.apify.com/v2/acts/logiover~x-post-url-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postUrls": ["https://x.com/NASA/status/2059393717111308634"],
"maxConcurrency": 8
}'See examples/javascript.md and examples/python.md. More curl recipes in examples/api-curl.md and CLI patterns in examples/cli.md.
All fields are optional — an empty input fetches a popular public post as a demo.
| Field | Type | Description |
|---|---|---|
postUrls |
array | Tweet / post URLs or bare tweet IDs. Mix them freely (e.g. https://x.com/NASA/status/123 and 123). |
maxConcurrency |
integer | How many posts to fetch in parallel (1–12). Default 5. |
maxResults |
integer | Stop after saving this many posts. 0 = all. |
proxyConfiguration |
object (proxy) | Pre-configured residential proxy — leave the default. |
{
"tweetId": "2059393717111308634",
"url": "https://x.com/NASA/status/2059393717111308634",
"text": "Post text captured here, including long-form note text when present.",
"createdAt": "Tue Jun 03 16:00:00 +0000 2026",
"lang": "en",
"likeCount": 38146,
"retweetCount": 4120,
"replyCount": 612,
"quoteCount": 210,
"bookmarkCount": 1503,
"viewCount": 2834957,
"isReply": false,
"isQuote": false,
"isRetweet": false,
"hashtags": ["Artemis"],
"mentions": ["NASA_Astronauts"],
"urls": ["https://www.nasa.gov/…"],
"media": [{ "type": "photo", "url": "https://pbs.twimg.com/media/…" }],
"author": { "userId": "11348282", "username": "NASA", "name": "NASA", "followers": 92089565, "verified": true },
"input": "https://x.com/NASA/status/2059393717111308634",
"scrapedAt": "2026-07-06T14:22:17.392Z"
}Deleted or protected posts come back with a clear error flag so a single bad link never breaks the run.
- Schedules — run on a cron in the Apify Console to re-hydrate a set of tracked posts daily and watch engagement grow.
- Webhooks — fire
ACTOR.RUN.SUCCEEDEDto your endpoint when a run finishes. - Google Sheets / Amazon S3 / databases — push the dataset with Apify integrations or the API.
- Zapier · Make · n8n · Pipedream — connect via the Apify app to build no-code reporting pipelines.
CSV · JSON · JSONL · Excel (XLSX) · XML — download from the Output tab or pull via the API (run-sync-get-dataset-items / dataset/items).
Paste the tweet link (https://x.com/<user>/status/<id>) into postUrls and run. Each link comes back as a full record with text, author and every engagement metric.
Yes. Bare numeric tweet IDs work just like full URLs, and you can mix both in one postUrls list.
Yes. It hydrates tweet URLs into full post data without the official X / Twitter API, a developer account, app keys or per-tweet rate limits — just paste links and run.
Yes. No developer account, app, login or cookies are needed — only an Apify account. There is no X account involved, so there is no ban risk.
Every record includes likeCount, retweetCount, replyCount, quoteCount, bookmarkCount and viewCount, making it a ready tweet engagement-metrics export for reporting.
They are returned with a clear error field so your run always completes cleanly instead of failing on one bad link.
Hundreds to thousands — pass a large postUrls list and raise maxConcurrency (up to 12) to fetch in parallel.
Run the Actor on your tweet URLs, then download the dataset as CSV, JSON, JSONL, Excel or XML — or pull it via API/webhook.
Yes — media (photos/videos with type and URL), hashtags, mentions and expanded urls are all extracted per post.
There is a free tier to try it, then it runs on pay-per-result. See the Pricing tab on the Apify page for the current rate.
- X (Twitter) Tweet Scraper — pull a whole profile's timeline with full engagement.
- X Profile & Email Scraper — enrich authors with public contact and audience data.
Browse the full suite at apify.com/logiover.
📄 Documentation only — this repository contains no scraper source code. The Actor runs on the Apify platform.
Released under the MIT License · © 2026 logiover