Tools
Website to Markdown API
Submit any URL. Get back the full page content as clean, readable Markdown. JavaScript-rendered pages included.
Try it below:
What is Exabase's website to Markdown API?
Submit any URL to the Exabase Extract API and get the page content back as a Markdown document instead of JSON. The same extraction pipeline runs: JavaScript rendering, content extraction, metadata parsing, and thumbnail generation. The difference is the output. Pass ?format=markdown when retrieving the result and you get a human-readable Markdown document instead of a JSON object.
The Markdown output includes the page title, site name, and the full body text as continuous prose. Pages rendered with JavaScript are processed the same way as static HTML. No headless browser on your end, no HTML-to-Markdown conversion, no Puppeteer.
What you get back
The Markdown response is a single text document. It includes the page title, site name, MIME type, and size as metadata at the top, followed by the full extracted content under a ## Content section. The result is ready to feed directly into an LLM context window, store in a knowledge base, or use as a readable reference.
You can also configure webhooks with webhookFormat: "markdown" so completed jobs POST the Markdown document directly to your server.
One multi-modal API
The same POST /v2/extract endpoint handles every content type Exabase supports, and the ?format=markdown parameter works across all of them. For web pages, you get the title, site name, and full content. For PDFs, you get document metadata and text. For audio and video, you get duration and the full transcript. For images, you get dimensions and OCR text.
The submission flow is identical across all types: one endpoint, one SDK method, one webhook configuration. You learn the pattern once and use it for everything. The Extract docs cover each content type in detail.
What you can build with it
Markdown is the most token-efficient format for LLM context. Feed web page content directly into your agent's context window without parsing JSON or stripping HTML. Build a RAG pipeline where retrieved web content arrives as readable text. Power a research agent that extracts articles and stores them as searchable Markdown.
Store extracted pages as Resources in a Base and they become searchable through Deep Search at the paragraph level. Workers can re-extract updated pages on a schedule, keeping your knowledge base current without manual work.
Beyond Markdown
The Extract API also returns JSON (the default) with full text chunks and metadata you can query programmatically. The JSON and Markdown formats are two views of the same extraction. Use Markdown for LLM context and human review, JSON for structured processing and search indexing. The Website to JSON tool page covers the JSON output.
How do I use it?
Get your API key
Free, no credit card:
Sign up at exabase.io and copy your API key from the dashboard.
Submit a URL
Using the SDK (Node.js):
Get the result
Poll the job until state reaches completed, then request the Markdown format.
Or configure your webhook with webhookFormat: "markdown" and receive the Markdown document as a POST body when the job completes.
One API call. No headless browser, no HTML parser, no Markdown converter.
Why Exabase
Comparisons
Works with other Exabase features
Use cases
FAQs
What is Exabase?
Exabase is infrastructure for AI agents. It gives your agents memory, versioned file storage, AI deep search, and context automation through a set of APIs. Store what your agent learns, search inside any content type, and keep knowledge bases current automatically. Built for production use. Give your agent precise context and cut your token spend by up to 81%.
Who uses Exabase?
Developers and teams building AI agents, copilots, and RAG applications. If your agent needs to remember things between sessions, store and retrieve files, search across documents and media, or stay up to date without manual maintenance, Exabase handles that infrastructure so you can focus on your product.
How do I get Markdown instead of JSON?
Add ?format=markdown to the GET /v2/extract/{jobId} request. The response body is a Markdown document with Content-Type: text/markdown. For webhooks, set webhookFormat: "markdown" in your extract settings.
Does it handle JavaScript-rendered pages?
Yes. Pages built with React, Next.js, Vue, Angular, or any JavaScript framework are rendered before content extraction.
Can I still get JSON?
Yes. JSON is the default. Omit the format parameter or pass ?format=json. Both formats are available from the same extraction job.
How is this different from Website to JSON?
Same extraction pipeline, different output format. Website to JSON returns a structured JSON object. Website to Markdown returns a readable text document. Both are available from the same job.
What about sites that block scrapers?
Exabase handles proxy rotation, browser fingerprinting, and retry logic. Some sites explicitly block all third-party access via robots.txt, and those return an error.
Can I extract content from pages behind a login?
No. The API can only access publicly available pages.
Do I have to poll for results?
No. Configure a webhook URL with webhookFormat: "markdown" and Exabase will POST the Markdown document directly to your server when processing completes.
How long are extracted files retained?
Stored files are retained for 1 day from job creation, then permanently deleted.
Is there an SDK?
Yes. The @exabase/sdk package for Node.js/TypeScript handles job creation and polling. Install with npm install @exabase/sdk. Or call the REST API directly from any language.
What other content types support Markdown output?
All of them. See the PDF to Markdown, Audio to Markdown, Video to Markdown, and Image to Markdown tool pages.