# Hydrafetch > Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract with one API, one credit a page. - [Hydrafetch](https://docs.hydrafetch.com/introduction.md): Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract — one API, one credit a page. - [Quickstart](https://docs.hydrafetch.com/quickstart.md): Make your first Hydrafetch call in under a minute. - [Authentication](https://docs.hydrafetch.com/authentication.md): How API keys, workspaces, and credits fit together. - [Formats](https://docs.hydrafetch.com/concepts/formats.md): Choose exactly what a scrape returns — Markdown, HTML, links, the page's own structured data, a summary, or schema-shaped JSON. - [Extraction quality](https://docs.hydrafetch.com/concepts/quality.md): Every scrape tells you how much to trust it — a per-page confidence score, a completeness flag, and a blocked flag. - [Untrusted content](https://docs.hydrafetch.com/concepts/untrusted-content.md): Everything a scrape returns was written by the site, not by us. Treat it as data — especially before it reaches an LLM. - [Credits & billing](https://docs.hydrafetch.com/concepts/credits.md): One currency for every call, charged only on success — and every response tells you what it cost. - [Brand data](https://docs.hydrafetch.com/concepts/brand.md): Resolve a domain into the company ready to render: logos that survive a dark background, the palette the site actually uses, fonts, and socials. Every field says where it came from. - [Caching](https://docs.hydrafetch.com/concepts/caching.md): Reuse recent captures to make scrapes faster and cheaper, or force a fresh fetch when you need the latest. - [Jobs & webhooks](https://docs.hydrafetch.com/concepts/jobs-and-webhooks.md): When calls return immediately, when they run as background jobs, and how to get results by polling or webhook. - [Errors](https://docs.hydrafetch.com/concepts/errors.md): A single structured error shape, standard HTTP statuses, and stable codes you can branch on. - [Scrape](https://docs.hydrafetch.com/endpoints/scrape.md): One URL in, clean LLM-ready data out — in the formats you ask for. - [Map](https://docs.hydrafetch.com/endpoints/map.md): Fast, synchronous URL discovery for a site — without scraping content. - [Crawl](https://docs.hydrafetch.com/endpoints/crawl.md): Discover and scrape a whole site as one asynchronous job. - [Batch](https://docs.hydrafetch.com/endpoints/batch.md): Scrape an explicit list of URLs as one asynchronous job. - [Search](https://docs.hydrafetch.com/endpoints/search.md): Search the web and get ranked results, each scraped to clean data. - [Media](https://docs.hydrafetch.com/endpoints/media.md): Harvest a page's images or capture a full-page screenshot. - [Logo](https://docs.hydrafetch.com/endpoints/logo.md): A company's logo as an image URL you can drop straight into an img tag. - [Extract](https://docs.hydrafetch.com/endpoints/extract.md): Pull schema-shaped JSON from one or many pages, with per-field confidence and sources. - [Blueprints](https://docs.hydrafetch.com/blueprints/overview.md): Complete pipelines that turn the endpoints into something useful, with the costs and the failure modes stated up front. - [Build a RAG corpus](https://docs.hydrafetch.com/blueprints/rag-corpus.md): Turn a site into clean Markdown you can chunk, embed, cite, and keep current, without writing a crawler. - [Turn a catalogue into rows](https://docs.hydrafetch.com/blueprints/catalogue-to-rows.md): Point at a set of pages, describe the fields you want, and get typed records back instead of prose. - [Read PDFs and documents](https://docs.hydrafetch.com/blueprints/documents-to-markdown.md): Send a document URL to the same endpoint you use for web pages and get Markdown back, tables intact. - [Watch a site for changes](https://docs.hydrafetch.com/blueprints/watch-a-site.md): Re-read a set of pages on a schedule and get told what changed, rather than polling by hand. - [Answer a question with sources](https://docs.hydrafetch.com/blueprints/answer-with-sources.md): Search the web and get the pages back already fetched, so a model can answer from real text instead of memory. - [Give an agent live web access](https://docs.hydrafetch.com/blueprints/agent-web-access.md): Let Claude, Cursor, or your own agent read the web through a tool call instead of guessing from memory. - [Build a local business directory](https://docs.hydrafetch.com/blueprints/local-business-directory.md): Start from a category and a city, find each business's own site, and turn it into a row with the fields a directory listing never carries. - [Enrich a list of companies](https://docs.hydrafetch.com/blueprints/lead-enrichment.md): Turn a column of domains into company records with names, descriptions, logos, colours, and social links. - [Match a customer's brand](https://docs.hydrafetch.com/blueprints/match-a-customer-brand.md): Read a customer's colours, fonts, and logo from their own site, so your product looks like theirs on day one. - [Show company logos in your app](https://docs.hydrafetch.com/blueprints/directory-logos.md): Render a mark for any domain straight from an image tag, with no fetching, storing, or resizing on your side. - [Your account](https://docs.hydrafetch.com/help/account.md): Creating an account, signing in, and what happens when you delete one. - [API keys](https://docs.hydrafetch.com/help/api-keys.md): Creating keys, rotating them, and what to do if one leaks. - [Workspaces and team](https://docs.hydrafetch.com/help/team.md): How workspaces hold credits and keys, and what each role can do. - [Plans and billing](https://docs.hydrafetch.com/help/billing.md): Choosing a plan, what overage costs, and how refunds work. - [Troubleshooting](https://docs.hydrafetch.com/help/troubleshooting.md): The errors people actually hit, what each one means, and what to send us. - [Scrape a URL](https://docs.hydrafetch.com/api-reference/scrape/scrape-a-url.md): Fetch a single URL and return it in the formats you ask for. Waits for the result by default, returning a job id if it runs long; set `async` to always return a job id immediately. - [Scrape to Markdown](https://docs.hydrafetch.com/api-reference/scrape/scrape-to-markdown.md): Fetch a URL and return clean Markdown of its main content. - [Scrape to HTML](https://docs.hydrafetch.com/api-reference/scrape/scrape-to-html.md): Fetch a URL and return its cleaned main-content HTML. - [Scrape raw HTML](https://docs.hydrafetch.com/api-reference/scrape/scrape-raw-html.md): Fetch a URL and return its unmodified page HTML. - [Get a page's links](https://docs.hydrafetch.com/api-reference/scrape/get-a-pages-links.md): Fetch a URL and return its internal and external links. - [Get structured data](https://docs.hydrafetch.com/api-reference/scrape/get-structured-data.md): Fetch a URL and return the page's own machine-authored structured data (JSON-LD, microdata, OpenGraph, RDFa), normalised. - [Get scrape job status](https://docs.hydrafetch.com/api-reference/scrape/get-scrape-job-status.md): Poll a scrape started with `async` (or one that ran past the synchronous wait). - [Map a site](https://docs.hydrafetch.com/api-reference/crawl-&-batch/map-a-site.md): Quickly enumerate a site's URLs without scraping them. Returns synchronously and costs one credit. - [Start a crawl](https://docs.hydrafetch.com/api-reference/crawl-&-batch/start-a-crawl.md): Discover and scrape a whole site as one asynchronous job. Returns a crawl id immediately; poll it or register a webhook. One credit per page scraped. - [Start a batch](https://docs.hydrafetch.com/api-reference/crawl-&-batch/start-a-batch.md): Scrape an explicit list of URLs as one asynchronous job. Returns a batch id immediately; poll it or register a webhook. One credit per URL scraped. - [Get crawl status](https://docs.hydrafetch.com/api-reference/crawl-&-batch/get-crawl-status.md): Poll a crawl for its progress and per-page results. - [Get batch status](https://docs.hydrafetch.com/api-reference/crawl-&-batch/get-batch-status.md): Poll a batch for its progress and per-URL results. - [List webhook deliveries for a crawl](https://docs.hydrafetch.com/api-reference/crawl-&-batch/list-webhook-deliveries-for-a-crawl.md): Every webhook callback we've attempted for this crawl, with its status, attempt count, and last response — so you can see whether and why a delivery failed. - [List webhook deliveries for a batch](https://docs.hydrafetch.com/api-reference/crawl-&-batch/list-webhook-deliveries-for-a-batch.md): Every webhook callback we've attempted for this batch, with its status, attempt count, and last response — so you can see whether and why a delivery failed. - [Resolve a brand](https://docs.hydrafetch.com/api-reference/brand/resolve-a-brand.md): Everything needed to render a company: logos that suit light and dark backgrounds, its real colours, name, description and social presence. Resolved on the spot if we have never seen the domain, and served from storage after that. Every field states whether the company declared it or we harvested it… - [Resolve many brands](https://docs.hydrafetch.com/api-reference/brand/resolve-many-brands.md): The same lookup for up to 50 domains at once. Only resolved brands are billed. - [Get a company logo](https://docs.hydrafetch.com/api-reference/brand/get-a-company-logo.md): The one asset most callers want, without the rest of the record: a direct image URL for the company's mark, chosen for the background you name. Cheaper than a full brand resolve. The image itself is public and immutable, so the URL can be embedded anywhere. - [Search brands](https://docs.hydrafetch.com/api-reference/brand/search-brands.md): Find brands we already hold by company name or domain, so you can turn what a user typed into a domain and then resolve it. Returns the domain, name, primary logo and primary colour — enough to render a picker. Never resolves a new domain, and is not billed. - [Read a company's design system](https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system.md): The colours, type scale, corner radius and button styling a site actually paints, read from computed styles in a real browser — so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ra… - [Harvest a page's images](https://docs.hydrafetch.com/api-reference/media/harvest-a-pages-images.md): Harvest all images from a page with their metadata. - [Screenshot a page](https://docs.hydrafetch.com/api-reference/media/screenshot-a-page.md): Capture a full-page PNG screenshot of a rendered page. - [Serve a company logo](https://docs.hydrafetch.com/api-reference/logo/serve-a-company-logo.md): The image bytes for a domain, ready to drop into an `` tag. Authenticated with a publishable key in the `token` parameter, so it is safe to put in a browser. A domain we have not seen yet answers with a monogram immediately and the real logo on the next request. - [Search the web](https://docs.hydrafetch.com/api-reference/search/search-the-web.md): Search the web for a query and get back ranked results: title, url and snippet. Costs 1 credit. Set `scrapeResults` to true to also fetch each result as clean data, which costs 1 additional credit per page scraped. - [Extract structured data from URLs](https://docs.hydrafetch.com/api-reference/extract/extract-structured-data-from-urls.md): Pull schema-shaped JSON out of one or many pages in a single call. An LLM maps each page onto your schema and/or prompt. Point at a single page, a list, or a crawl scope with a trailing `/*` wildcard; optionally let web search find extra source pages, return per-field confidence with the source pass… - [Changelog](https://docs.hydrafetch.com/changelog.md): What's new in the Hydrafetch API. ## OpenAPI Specs - [openapi](https://api.hydrafetch.com/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.