hydrafetch-com · Schema

ScrapeRequestDto

Web ScrapingData ExtractionAPIAutomationMarkdown

Properties

Name Type Description
url string The URL to scrape. Must be http(s); a bare domain such as example.com is read over https.
maxAge number Serve from cache if a capture of this URL is younger than this many milliseconds. Omit for the default 24h window; 0 always fetches fresh. Capped at 7 days.
cacheOnly boolean Only serve from cache. If there is no fresh cached copy, return 404 instead of fetching.
storeInCache boolean Persist the capture for later re-extraction. Default true.
preferStructure boolean Preserve document structure (headings, lists, tables) over prose density — good for marketing and service pages. Default off.
async boolean Return a job id immediately instead of waiting for the result. Poll GET /v1/web/scrape/{id}. Opt in only: a synchronous call never degrades to a job id on its own, so you get a page or an error, not t
onlyMainContent boolean Return only the main content, dropping nav/boilerplate. Default true.
includeTags array CSS selectors to keep. When set, only matching elements are considered.
excludeTags array CSS selectors to strip before extraction.
removeBase64Images boolean Strip inline base64 images from the output. Default true.
blockAds boolean Remove common ad and tracking elements. Default true.
includeLinks boolean Keep inline links in the markdown. By default links are kept wherever the page text carries them. Set true to keep them on every page, or false for the densest prose.
waitFor number Extra milliseconds to let the page settle before capture.
timeout number Overall time budget for the request, in milliseconds.
location object
headers object Extra request headers to send when fetching the page.
method string HTTP method to fetch the URL with. Use POST for endpoints that only answer a POST, such as JSON and GraphQL APIs. Defaults to GET.
body string Request body, sent verbatim. Only used when `method` is POST. Set the content type yourself via `headers`; nothing is assumed about the format.
formats array What to return. Omit for Markdown only. `structured` is the page's own data (no LLM, cheapest); `summary` and `json` are LLM-backed and cost more.
jsonOptions object Schema and/or prompt for the `json` format. One is required when `json` is requested.
View JSON Schema on GitHub

JSON Schema

hydrafetch-com-scrape-request-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hydrafetch-com/json-schema/hydrafetch-com-scrape-request-dto-schema.json",
  "title": "ScrapeRequestDto",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hydrafetch-com-openapi.json#/components/schemas/ScrapeRequestDto",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The URL to scrape. Must be http(s); a bare domain such as example.com is read over https."
    },
    "maxAge": {
      "type": "number",
      "minimum": 0,
      "maximum": 604800000,
      "description": "Serve from cache if a capture of this URL is younger than this many milliseconds. Omit for the default 24h window; 0 always fetches fresh. Capped at 7 days."
    },
    "cacheOnly": {
      "type": "boolean",
      "description": "Only serve from cache. If there is no fresh cached copy, return 404 instead of fetching."
    },
    "storeInCache": {
      "type": "boolean",
      "description": "Persist the capture for later re-extraction. Default true."
    },
    "preferStructure": {
      "type": "boolean",
      "description": "Preserve document structure (headings, lists, tables) over prose density — good for marketing and service pages. Default off."
    },
    "async": {
      "type": "boolean",
      "description": "Return a job id immediately instead of waiting for the result. Poll GET /v1/web/scrape/{id}. Opt in only: a synchronous call never degrades to a job id on its own, so you get a page or an error, not two response shapes."
    },
    "onlyMainContent": {
      "type": "boolean",
      "description": "Return only the main content, dropping nav/boilerplate. Default true."
    },
    "includeTags": {
      "maxItems": 50,
      "description": "CSS selectors to keep. When set, only matching elements are considered.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludeTags": {
      "maxItems": 50,
      "description": "CSS selectors to strip before extraction.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "removeBase64Images": {
      "type": "boolean",
      "description": "Strip inline base64 images from the output. Default true."
    },
    "blockAds": {
      "type": "boolean",
      "description": "Remove common ad and tracking elements. Default true."
    },
    "includeLinks": {
      "type": "boolean",
      "description": "Keep inline links in the markdown. By default links are kept wherever the page text carries them. Set true to keep them on every page, or false for the densest prose."
    },
    "waitFor": {
      "type": "number",
      "minimum": 0,
      "maximum": 30000,
      "description": "Extra milliseconds to let the page settle before capture."
    },
    "timeout": {
      "type": "number",
      "minimum": 1000,
      "maximum": 100000,
      "description": "Overall time budget for the request, in milliseconds."
    },
    "location": {
      "$ref": "#/$defs/LocationDto"
    },
    "headers": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Extra request headers to send when fetching the page."
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ],
      "default": "GET",
      "description": "HTTP method to fetch the URL with. Use POST for endpoints that only answer a POST, such as JSON and GraphQL APIs. Defaults to GET."
    },
    "body": {
      "type": "string",
      "maxLength": 65536,
      "description": "Request body, sent verbatim. Only used when `method` is POST. Set the content type yourself via `headers`; nothing is assumed about the format."
    },
    "formats": {
      "type": "array",
      "description": "What to return. Omit for Markdown only. `structured` is the page's own data (no LLM, cheapest); `summary` and `json` are LLM-backed and cost more.",
      "items": {
        "type": "string",
        "enum": [
          "markdown",
          "html",
          "rawHtml",
          "links",
          "structured",
          "summary",
          "json",
          "brand"
        ]
      }
    },
    "jsonOptions": {
      "description": "Schema and/or prompt for the `json` format. One is required when `json` is requested.",
      "allOf": [
        {
          "$ref": "#/$defs/JsonOptionsDto"
        }
      ]
    }
  },
  "required": [
    "url"
  ],
  "$defs": {
    "JsonOptionsDto": {
      "type": "object",
      "properties": {
        "schema": {
          "type": "object",
          "additionalProperties": true,
          "description": "JSON Schema describing the shape you want the `json` format to return."
        },
        "prompt": {
          "type": "string",
          "maxLength": 2000,
          "description": "Natural-language instruction for the `json` format. Use with or instead of a schema."
        }
      }
    },
    "LocationDto": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string",
          "description": "ISO 3166 alpha-2 country to fetch the page as if from."
        },
        "languages": {
          "description": "Preferred content languages, most-preferred first.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hydrafetch-com-scrape-request-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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.

A second provider on the same verified email joins the account you already have.