ScreenshotAPI (screenshotapi.to) is a hosted screenshot and PDF capture API — send a URL or raw HTML, get back a PNG, JPEG, WebP or PDF without running browser infrastructure. The contract is deliberately small: one screenshot resource answering both GET and POST, plus a health check. What sets it apart from its size is the agent-readable surface around it — an llms.txt on the root, a 302KB llms-full.txt, a separate docs llms.txt, an agent install guide, a dedicated AI-agents page, and per-page markdown by appending .md to any /docs/ URL. An MCP server exists but runs locally over stdio and is not yet published to npm, so it is described here rather than advertised as a hosted endpoint. Not to be confused with ScreenshotAPI.net, a different company in the same category — see the screenshotapi-net entry.
ScreenshotAPI publishes 1 API on the APIs.io network: Screenshots API. Tagged areas include Screenshots, Website Screenshots, URL to Image, URL to PDF, and HTML to Image.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
name: ScreenshotAPI
description: 'ScreenshotAPI (screenshotapi.to) is a hosted screenshot and PDF capture API — send a URL or raw HTML, get back
a PNG, JPEG, WebP or PDF without running browser infrastructure. The contract is deliberately small: one screenshot resource
answering both GET and POST, plus a health check. What sets it apart from its size is the agent-readable surface around
it — an llms.txt on the root, a 302KB llms-full.txt, a separate docs llms.txt, an agent install guide, a dedicated AI-agents
page, and per-page markdown by appending .md to any /docs/ URL. An MCP server exists but runs locally over stdio and is
not yet published to npm, so it is described here rather than advertised as a hosted endpoint. Not to be confused with ScreenshotAPI.net,
a different company in the same category — see the screenshotapi-net entry.'
url: https://raw.githubusercontent.com/api-evangelist/screenshotapi-to/refs/heads/main/apis.yml
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
created: '2026-08-02'
modified: '2026-08-02'
specificationVersion: '0.23'
tags:
- Screenshots
- Website Screenshots
- URL to Image
- URL to PDF
- HTML to Image
- Developer Tools
- Web Automation
- Visual Testing
- Agent-readable
apis:
- aid: screenshotapi-to:screenshotapi-to-screenshots-api
name: ScreenshotAPI Screenshots API
description: Capture URLs or HTML as images or PDFs.
humanURL: https://screenshotapi.to/docs
baseURL: https://screenshotapi.to
tags:
- Screenshots
properties:
- type: OpenAPI
url: openapi/screenshotapi-to-screenshots-api-openapi.yml
- type: Documentation
url: https://screenshotapi.to/docs
- type: Pricing
url: https://screenshotapi.to/pricing
properties:
- type: Documentation
url: https://screenshotapi.to/docs
- type: LLMSTxt
url: llms/screenshotapi-to-llms.txt
- type: LLMSTxt
url: https://screenshotapi.to/llms.txt
- type: LLMSTxt
url: https://screenshotapi.to/llms-full.txt
- type: LLMSTxt
url: https://screenshotapi.to/docs/llms.txt
- type: AgentGuide
url: https://screenshotapi.to/ai-agents
- type: AgentInstall
url: https://screenshotapi.to/llms-install.md
- type: Pricing
url: https://screenshotapi.to/pricing
maintainers:
- FN: ScreenshotAPI
url: https://screenshotapi.to
email: support@screenshotapi.to
x-evidence:
harvested: '2026-08-02'
request: api-search/.github#2
probes:
- https://screenshotapi.to/openapi.json -> HTTP 200, OpenAPI 3.1.0, 2 paths / 3 ops / 2 schemas
- https://screenshotapi.to/llms.txt -> HTTP 200, 35,683 bytes
- https://screenshotapi.to/llms-full.txt -> HTTP 200, 302,110 bytes
- https://screenshotapi.to/docs/llms.txt -> HTTP 200, 299,708 bytes
- https://screenshotapi.to/llms-install.md -> HTTP 200, text/markdown
- https://screenshotapi.to/ai-agents -> HTTP 200
- https://screenshotapi.to/pricing -> HTTP 200
- https://screenshotapi.to/apis.json -> HTTP 404 (advertised in the submission; does not exist)
- https://screenshotapi.to/.well-known/mcp.json -> HTTP 404
not_asserted:
apis_json: The submission gave https://screenshotapi.to/apis.json as the descriptor URL. It returns 404 and serves an
HTML error page, so this profile was built from the OpenAPI and llms.txt instead. Worth telling the provider — it is
what they advertise.
mcp: screenshotapi.to/mcp documents four MCP tools, but the page states the server "runs locally over stdio today" with
"npm publication pending namespace confirmation". A local-install MCP is not a hosted endpoint, so no MCP property is
emitted — only this note. Revisit once it is published and reachable.
note: Built from the provider's published OpenAPI and llms.txt after their advertised apis.json was found missing. Operation,
path and schema counts were measured from the fetched spec. Rate limits are not asserted — none were found published.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.