CaptureKit

Content

CaptureKit Content API extracts structured webpage data, metadata, links, HTML/Markdown—in one request for SEO, monitoring, indexing and automation.

Credit cost: 1 credit per request

GET
/v1/content

Authorization

ApiKeyAuth
x-api-key<token>

Your API key. Include it in the x-api-key header for every request.

In: header

Query Parameters

url*string

The URL of the webpage to capture.

include_html?boolean

Include the raw HTML of the webpage in the response.

Default"false"
include_markdown?boolean

Include the Markdown of the webpage in the response.

Default"false"
include_sitemap?boolean

Include the sitemap of the website in the response.

Default"false"
use_defuddle?boolean

Use Defuddle to clean and extract the main content from web pages. This popular library removes unnecessary elements like comments, sidebars, headers, footers, and other non-essential elements, leaving only the primary content. When enabled, the HTML response will be processed through Defuddle before being returned.

Default"false"
remove_selectors?string

A comma-separated list of elements to hide before capturing (e.g., ads, popups).

remove_cookie_banners?boolean

Automatically remove cookie banners before capturing.

Default"false"
remove_ads?boolean

Automatically remove ads before capturing.

Default"false"
block_resources?string

Comma-separated list of resource types to block (e.g., “image,stylesheet,font”).

Available resource types:

  • document
  • stylesheet
  • image
  • media
  • font
  • script
  • texttrack
  • xhr
  • fetch
  • eventsource
  • websocket
  • manifest
  • other

Useful for optimizing page loading speed before capturing screenshots.

Value in"document" | "eventsource" | "fetch" | "font" | "image" | "manifest" | "media" | "other" | "script" | "stylesheet" | "texttrack" | "websocket" | "xhr"
block_urls?string

Comma-separated list of URL patterns to block (e.g., “analytics,tracking,advertisement”).

You can specify URLs, domains, or simple patterns like “.example.com/”.

delay?number

Delay in seconds before capturing the screenshot.

Default"0"
Range0 <= value <= 10
wait_until?array<>

Define when to capture.

Available formats:

  • networkidle2
  • load
  • domcontentloaded
  • networkidle0
Value in"domcontentloaded" | "load" | "networkidle0" | "networkidle2"
wait_for_selector?string

Wait for a specific element to appear before taking the screenshot.

proxy?string

Specify a proxy server to route your request through.

Supports HTTP, HTTPS, and SOCKS5 proxies.

Format: http://username:password@proxy.com:PORT.

Useful for bypassing geo-restrictions and rotating IPs.

cache?boolean

Cache the response.

Default"false"
cache_ttl?number

Cache the response for a custom TTL (in seconds).

Default"2592000"
Range3600 <= value <= 2592000

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.capturekit.dev/v1/content?url=string"
{
  "success": true,
  "data": {
    "metadata": {
      "title": "Screenshot API to scale your applications",
      "description": "CaptureKit is a Screenshot API for automating website screenshots. Get 100 free credits to test it and see how it fits your use case.",
      "favicon": "",
      "ogImage": "https://capturekit-assets.s3.amazonaws.com/capturekit-og+(1).png"
    },
    "links": {
      "internal": [
        "https://capturekit.dev/",
        "https://capturekit.dev/page-content",
        "https://capturekit.dev/ai",
        "https://capturekit.dev/pricing",
        "https://capturekit.dev/login",
        "https://capturekit.dev/sign-up",
        "https://capturekit.dev/dashboard",
        "https://capturekit.dev/blog/automate-website-screenshots-using-make-google-sheets-and-screenshot-api",
        "https://capturekit.dev/blog/automate-website-screenshots-using-n8n-and-capturekit-website-capture-api",
        "https://capturekit.dev/blog/capturekit-becoming-part-webapi",
        "https://capturekit.dev/blog",
        "https://capturekit.dev/use-cases/web-archiving",
        "https://capturekit.dev/use-cases/ui-testing",
        "https://capturekit.dev/use-cases/seo-tracking",
        "https://capturekit.dev/use-cases/data-extraction",
        "https://capturekit.dev/use-cases/ai-page-analysis",
        "https://capturekit.dev/screenshot-api-use-cases",
        "https://capturekit.dev/content-api-use-cases",
        "https://capturekit.dev/ai-content-api-use-cases",
        "https://capturekit.dev/alternatives/urlbox",
        "https://capturekit.dev/alternatives/screenshotone",
        "https://capturekit.dev/alternatives/screenshotapi",
        "https://capturekit.dev/alternatives/apiflash",
        "https://capturekit.dev/alternatives",
        "https://capturekit.dev/screenshot-api-calculator",
        "https://capturekit.dev/free-website-links-extractor",
        "https://capturekit.dev/free-benchmark",
        "https://capturekit.dev/terms",
        "https://capturekit.dev/privacy"
      ],
      "external": [
        "https://docs.capturekit.dev",
        "https://www.uneed.best/tool/capture-kit",
        "https://zapier.com/apps/capturekit/integrations",
        "https://zapier.com/apps/capturekit-website-screenshots-p/integrations",
        "https://playground.capturekit.dev",
        "https://status.capturekit.dev"
      ],
      "social": [
        "https://twitter.com/capturekitdev",
        "https://linkedin.com/company/capturekit-dev"
      ]
    }
  }
}
{
  "error": "Bad Request"
}
{
  "error": "Invalid API Key"
}
{
  "error": "Payment required"
}
{
  "error": "Rate limit exceeded for the API key: quota monthly"
}
{
  "error": "Internal Error"
}