SnapAPI Extract API
Web content extraction (HTML, text, markdown, article, structured)
Web content extraction (HTML, text, markdown, article, structured)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/snapapi-pics-extract-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SnapAPI - Screenshot & Web Data Analyze Extract API
version: 2.0.0
description: 'Professional screenshot, PDF, video, scraping, content extraction, and AI analysis API. Convert any URL into structured data or visual captures with a single API call. Powered by headless Chromium.
## Authentication
All API endpoints (except Auth and Health) require one of:
- `X-Api-Key: sk_live_xxx` header (recommended for server-side)
- `Authorization: Bearer sk_live_xxx` header
- `?access_key=sk_live_xxx` query parameter (for GET endpoints)
Dashboard endpoints use JWT Bearer tokens obtained from `/auth/login`.
## Rate Limits
| Plan | Requests/month | Rate |
|------|---------------|------|
| Free | 100 | 10/min |
| Starter | 5,000 | 60/min |
| Pro | 50,000 | 300/min |
Rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`'
contact:
email: support@snapapi.pics
url: https://snapapi.pics
servers:
- url: https://api.snapapi.pics
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Extract
description: Web content extraction (HTML, text, markdown, article, structured)
paths:
/v1/extract:
post:
operationId: extractContent
summary: Extract Web Content
description: Extract content from any webpage as HTML, text, markdown, article, links, images, metadata, or structured data. Optimized for LLM consumption.
tags:
- Extract
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractRequest'
examples:
markdown:
summary: Extract as markdown
value:
url: https://example.com
type: markdown
article:
summary: Extract article (Readability)
value:
url: https://blog.example.com/post
type: article
structured:
summary: Structured extraction
value:
url: https://example.com
type: structured
maxLength: 10000
links:
summary: Extract all links
value:
url: https://example.com
type: links
responses:
'200':
description: Content extracted
headers:
X-Request-Id:
$ref: '#/components/headers/X-Request-Id'
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractResponse'
'400':
description: Validation error
'401':
description: Invalid API key
get:
operationId: extractContentGet
summary: Extract Web Content (GET)
tags:
- Extract
parameters:
- name: url
in: query
required: true
schema:
type: string
format: uri
- name: type
in: query
schema:
type: string
enum:
- html
- text
- markdown
- article
- links
- images
- metadata
- structured
default: markdown
- name: selector
in: query
schema:
type: string
- name: max_length
in: query
schema:
type: integer
- name: clean
in: query
schema:
type: string
enum:
- 'true'
- 'false'
default: 'true'
- name: block_ads
in: query
schema:
type: string
enum:
- 'true'
- 'false'
- name: block_cookies
in: query
schema:
type: string
enum:
- 'true'
- 'false'
responses:
'200':
description: Content extracted
'400':
description: Validation error
components:
headers:
X-Request-Id:
schema:
type: string
description: Unique request identifier for debugging
schemas:
ExtractRequest:
type: object
required:
- url
properties:
url:
type: string
format: uri
type:
type: string
enum:
- html
- text
- markdown
- article
- links
- images
- metadata
- structured
default: markdown
selector:
type: string
description: CSS selector to target
waitFor:
type: string
description: Wait for selector before extracting
timeout:
type: integer
minimum: 1000
maximum: 60000
default: 30000
darkMode:
type: boolean
default: false
blockAds:
type: boolean
default: false
blockCookieBanners:
type: boolean
default: false
includeImages:
type: boolean
default: true
maxLength:
type: integer
minimum: 100
maximum: 500000
cleanOutput:
type: boolean
default: true
ExtractResponse:
type: object
properties:
success:
type: boolean
type:
type: string
url:
type: string
data:
description: Extracted content (format depends on type param)
responseTime:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Your SnapAPI API key
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: JWT access token obtained from /auth/login or /auth/refresh