X Article to Markdown Converter
Pricing
from $8.00 / 1,000 article converted to markdowns
X Article to Markdown Converter
Convert X long-form Articles to Markdown from status URLs or tweet IDs. TwitterAPI.io primary, GetXAPI fallback. Cookie-free, MCP-ready.
Pricing
from $8.00 / 1,000 article converted to markdowns
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Convert X (Twitter) long-form Articles to Markdown
This Actor returns one dataset row per X Article wrapper: Markdown body, optional YAML front matter, title, author, cover image, and word counts. Researchers, content teams, and AI agents use it to archive or summarize long-form X Articles from status URLs or tweet IDs — cookie-free and MCP-ready.
Best fit for this Actor
- Best fit when you already have
https://x.com/{user}/status/{id}links (or bare tweet IDs) that open a long-form X Article. - Designed for Markdown export into RAG, newsletters, Obsidian/Notion, or LLM summarization.
- Works well for mixed batches: Article wrappers convert to
COMPLETErows; ordinary tweets surface as clearVALID_EMPTYdiagnostics.
Start with X Tweet Scraper to discover status URLs, then pass those wrappers here. Continue with X Post Detail Scraper when you need the short post card instead of the Article body.
Workflow: status URL to Markdown archive
An analyst starts with Decentralised.co Article status URLs, keeps images and YAML front matter enabled, then exports one Markdown document per Article — title, author, published time, ~1,500-word body, and source URL — ready to schedule into a research vault or feed an agent.
Quick start input
{"articleUrls": ["https://x.com/Decentralisedco/status/1905545699552375179"],"includeImages": true,"includeMetadata": true}
articleUrls accepts status URLs (x.com or twitter.com) or numeric tweet IDs that wrap an Article. Prefer the status wrapper that opens the Article in a browser.
Input reference
| Field | Type | What it controls |
|---|---|---|
articleUrls | array[string] | Required. Status URLs or tweet IDs that wrap long-form Articles. Prefill uses a known public Article wrapper. |
includeImages | boolean | Default true. Embeds image/GIF blocks as  in Markdown. |
includeMetadata | boolean | Default true. Prepends YAML front matter (title, author, published_at, url, description). |
providerOrder | array[string] | Default ["twitterapi", "getxapi"]. Ordered managed-provider try list. |
Owner-managed API keys power the run. Store users provide Article wrappers only — no provider keys in input.
What data you receive
One dataset item equals one input URL or ID. Successful conversions include identity, metadata, and the Markdown body. Diagnostic rows keep provenance when a tweet is not an Article wrapper.
{"articleId": "QXJ0aWNsZUVudGl0eToxOTA1NTQxMTM5MTQ0Mjk4NDk4","tweetId": "1905545699552375179","sourceUrl": "https://x.com/Decentralisedco/status/1905545699552375179","url": "https://x.com/Decentralisedco/status/1905545699552375179","title": "When Tokens Burn","authorName": "DCo","publishedAt": "Fri Mar 28 09:01:12 +0000 2025","description": "Breaking down how crypto protocols approach revenue and cash flow…","coverImage": "https://pbs.twimg.com/media/GnHXrznXUAEs-v5.jpg","markdown": "---\ntitle: \"When Tokens Burn\"\nauthor: \"DCo\"\n…\n---\n\n# When Tokens Burn\n\n…","wordCount": 1497,"characterCount": 10472,"provider": "twitterapi.io","outcome": "COMPLETE","scrapedAt": "2025-03-28T12:00:00.000Z"}
| Field | Description |
|---|---|
articleId | Provider article entity ID when available |
tweetId | Wrapper tweet ID |
sourceUrl / url | Input or resolved status URL |
title, authorName, publishedAt, description, coverImage | Article metadata |
markdown | Full Markdown (optional YAML front matter) |
wordCount, characterCount | Body size helpers |
provider | twitterapi.io or getxapi |
outcome | COMPLETE, VALID_EMPTY, or UPSTREAM_FAILED |
errorType | Optional diagnostic code such as NOT_ARTICLE |
Use through the API
curl -s -X POST "https://api.apify.com/v2/acts/khadinakbar~x-article-to-markdown-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"articleUrls": ["https://x.com/Decentralisedco/status/1905545699552375179"],"includeImages": true,"includeMetadata": true}'
When the Actor completes, read the default dataset:
$curl -s "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=$APIFY_TOKEN&format=json"
Use with AI agents through Apify MCP
Convert these X Article status URLs to Markdown with YAML front matter and images. Return title, author, wordCount, sourceUrl, and markdown for each COMPLETE row. Treat VALID_EMPTY rows as finished scope, then move to the next URL.
Inspect the terminal outcome (OUTPUT / RUN_SUMMARY), read the dataset, keep sourceUrl for provenance, and cap articleUrls to control cost. Client setup: https://mcp.apify.com.
Connect the workflow
- Start with X Tweet Scraper to search or collect status URLs, then pass Article wrappers here.
- Pair it with X Post Detail Scraper when the next step is the short post card rather than long-form Markdown.
- For video long-form text on YouTube, continue with YouTube Transcript Extractor.
Pricing
This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details, and use Apify run cost controls to keep the workflow aligned with your budget.
| Event | When charged |
|---|---|
apify-actor-start | Once when the Actor starts (memory-scaled) |
article-converted | Once per successfully converted Article (COMPLETE row) |
VALID_EMPTY and upstream diagnostic rows stay outside the article-converted event. A typical one-Article run is the start fee plus the primary conversion event shown on the Pricing tab.
Best results
- Provide the status URL that opens the Article in a browser, including a clear tweet ID.
- Start with a focused list when validating a new source set; diagnostic rows keep mixed batches readable.
- Keep
includeMetadataenabled when feeding Obsidian, Notion, or RAG pipelines that expect title/author/url in front matter. - Set
includeImages: falsewhen you only need text for LLM context windows.
Builder's note
I designed this Actor around status-wrapper tweet IDs after I found that long-form Article bodies are richest through TwitterAPI.io’s article route, with GetXAPI as the ordered fallback. In my testing, that provider path produced stable Markdown blocks (headers, lists, media) without asking Store users for X cookies.
Responsible use
Use for public or authorized content and follow X/Twitter terms plus applicable laws. This Actor transforms Article content returned by third-party data providers into Markdown for legitimate research and automation workflows.