Content API
Turn any webpage into clean, structured data
Rendered HTML, LLM-ready Markdown, every link, the sitemap and rich metadata — from a single request, after JavaScript has run.
No credit card required · 100 free credits every month
How it works
From URL to result in four steps
- 1
Send a URL
Call GET /v1/content with the URL and the outputs you want.
- 2
Render
The page loads in Chromium so client-side content is included.
- 3
Extract
Metadata, links, HTML and Markdown are extracted — optionally only the main content.
- 4
Use it
Index it for search, feed it to an LLM or store it for monitoring.
Features
Extraction built for search, LLMs and monitoring
HTML extraction
include_html returns the fully rendered DOM, after scripts have run.
Markdown
include_markdown converts the page to clean Markdown that's ready for embeddings and prompts.
Link scraper
Every link on the page, de-duplicated and grouped into internal, external and social.
Sitemap scraper
include_sitemap discovers the site's sitemap and returns its URLs.
Metadata parser
Title, description, favicon, Open Graph, canonical, language, keywords, author and schema.org.
Stealth mode
Fingerprint hardening and user-agent rotation for sites that block automated browsers.
Main content with Defuddle
use_defuddle strips navigation, sidebars, footers and comments, keeping only the article.
Field filtering
fields=data.metadata.title,data.links keeps responses small with dot-notation filtering.
Extract Markdown and metadata
Combine outputs freely in one call. You're charged one credit regardless of how many outputs you include.
const params = new URLSearchParams({
url: "https://acme.example",
include_markdown: "true",
use_defuddle: "true",
});
const res = await fetch(`https://api.screenshotdude.com/v1/content?${params}`, {
headers: { "x-api-key": process.env.SCREENSHOTDUDE_API_KEY },
});
const { success, data, error } = await res.json();
if (!success) throw new Error(error);
console.log(data);200 · application/json
{
"success": true,
"data": {
"metadata": {
"title": "Acme — Project management for remote teams",
"description": "Plan sprints, track work and ship faster with Acme.",
"favicon": "https://acme.example/favicon.ico",
"ogImage": "https://acme.example/og.png",
"ogTitle": "Acme — Project management for remote teams",
"ogDescription": "Plan sprints, track work and ship faster.",
"canonical": "https://acme.example/",
"lang": "en",
"keywords": [
"project management",
"remote teams",
"kanban"
],
"author": "Acme Inc.",
"schemaOrg": [
{
"@type": "Organization",
"name": "Acme Inc.",
"url": "https://acme.example"
}
]
},
"links": {
"internal": [
"https://acme.example/pricing",
"https://acme.example/blog",
"https://acme.example/login"
],
"external": [
"https://status.acme-hosting.example"
],
"social": [
"https://x.com/acme",
"https://www.linkedin.com/company/acme"
]
},
"markdown": "# Project management for remote teams\n\nPlan sprints, track work and ship faster..."
}
}Frequently asked questions
Start capturing in minutes
Create a free account and get 100 free screenshots every month. No credit card required.