Markdown API
Convert any webpage to clean, structured Markdown. Strip away navigation, ads, and boilerplate to get just the content — perfect for LLM ingestion, AI pipelines, and content processing.
API Version
v3.0 enables smart defaults — auto_proxy, auto_render, and retry are all on by default. The best proxy and rendering strategy is chosen automatically for each target domain.
Endpoint
HTTP
GET https://opengraph.io/api/3.0/markdown/{encoded_url}?app_id=YOUR_APP_IDParameters
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| encoded_url | string | Required. URL-encoded target URL |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| app_id | string | - | Required. Your API key |
| only_main_content | boolean | true | Strip navigation, sidebars, and footers — return only the primary content |
| include_tags | string | - | Comma-separated HTML tags to include (e.g., article,main,section) |
| exclude_tags | string | - | Comma-separated HTML tags to exclude (e.g., nav,footer,aside) |
| cache_ok | boolean | true | Allow cached results |
| accept_lang | string | en-US | Language header for localized content |
| auto_proxy | boolean | true | Automatically select optimal proxy |
| auto_render | boolean | true | Automatically enable JS rendering when needed |
| retry | boolean | true | Auto-retry failed requests with proxy escalation |
Example Request
curl "https://opengraph.io/api/3.0/markdown/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FWeb_scraping?app_id=YOUR_APP_ID"Example Response
Response
{
"markdown": "# Example Article\n\nThis is the main content of the page converted to clean Markdown.\n\n## Section Heading\n\nParagraph content with **bold** and *italic* text.\n\n- List item one\n- List item two",
"requestInfo": {
"redirects": 0,
"host": "example.com",
"responseCode": 200,
"responseContentType": "text/html"
}
}Use Cases
- LLM and AI content ingestion pipelines
- RAG (Retrieval-Augmented Generation) data preparation
- Content migration between platforms
- Documentation scraping and archival
- Clean text extraction for NLP processing