Docs / Guide

Introduction

Turn public web pages into clean data for applications and AI agents. DataBlue handles retrieval, rendering, cleaning, and delivery.

Core workflows Scrape · Crawl · Search · Map · Extract
LLM-ready outputs Markdown · JSON · Links · Images
Base URL https://api.datablue.dev/v1

Web Data Built for LLMs

DataBlue removes page noise and returns LLM-ready markdown, JSON, links, images, HTML, or screenshots.

OutputWhat it preservesCommon use
MarkdownReadable headings, paragraphs, lists, tables, and useful linksRAG ingestion, summarization, research, and agent context
Structured JSONFields that match the schema or endpoint contract you requestedAutomations, databases, comparisons, and application features
Links and imagesDiscoverable URLs, media URLs, labels, and available alt textSite discovery, media analysis, and follow-up retrieval
HTML and raw HTMLProcessed or original page markupCustom parsing, auditing, and specialized downstream transforms
ScreenshotsThe rendered visual state of a requested pageVisual review, multimodal models, and evidence capture
MetadataSource URL and available page-level detailsTraceability, indexing, validation, and citations
DataBlue is the web-data layer between a source and your model, database, or application.

Five Modes, One Platform

Choose the smallest workflow that produces the result you need.

ModeUse it whenYou provideYou receive
ScrapeYou already know the exact page you needOne URL and the required output formatsPage content such as markdown, HTML, links, images, screenshots, headings, and metadata
CrawlYou need content from a connected section of a websiteA starting URL plus page, depth, and path boundariesA multi-page collection with each page retrieved and processed as part of one job
SearchYou know the question but not the source URLsA query and optional result or content settingsSearch results and, when requested, content from result pages
MapYou need to understand a site's URL structure before collecting contentA domain or starting URL with discovery boundariesA URL inventory that can be filtered before a scrape or crawl
ExtractYour application needs specific fields instead of general page textSource content or URLs plus the shape of the desired resultStructured data suitable for validation and application logic

A simple selection rule

  • Known page: use Scrape.
  • Known website, unknown page: use Map, then scrape the URLs you select.
  • Connected website section: use Crawl with explicit limits.
  • Known question, unknown website: use Search.
  • Known fields: use Extract.
  • Known supported data surface: use its specialized Data API.

Specialized Data APIs

Use a Data API when you need structured records from a supported source instead of general page content.

FamilyAvailable documentation coversTypical application
Google dataSERP, Maps, News, Jobs, Flights, Finance, keyword suggestions, and Trends autocompleteResearch, discovery, market intelligence, and location-aware products
Quick commerceBlinkit, Instamart, and Zepto product dataCatalog comparison, availability analysis, and pricing workflows
E-commerceAmazon product, store, A+ content, reviews, rankings, and media surfaces, plus Flipkart and AJIO product dataProduct intelligence, catalog enrichment, and review analysis
App StoreApplication search and application detailApp discovery, category research, and metadata enrichment
Ads transparencyGoogle advertiser and creative discovery plus Facebook ads searchCreative research and advertising intelligence
YouTubeVideo search and video detailMedia discovery, research, and content enrichment

Use core modes for flexible web retrieval. Use Data APIs for source-specific records. Check Data API Status before production use.

What DataBlue Handles

DataBlue manages the retrieval work behind each request and returns one consistent response shape.

Page retrievalRequests the source and follows the supported retrieval path needed to obtain usable content.
Browser renderingRenders supported dynamic pages when meaningful content is not present in the initial document.
Managed proxy routingUses configured proxy infrastructure when a supported request requires a different network path.
Content cleaningReduces page chrome and noisy markup while preserving useful text, links, media, and document structure.
Output normalizationPackages requested formats and metadata into a consistent response envelope across workflows.
Job orchestrationTracks longer operations such as crawls and exposes progress through polling and supported webhook flows.
Failure reportingReturns explicit status and error information so your application can retry, recover, or ask for a smaller scope.

What your application still controls

You decideWhy it remains your responsibility
The source and authorization to access itYou understand the source, intended use, and applicable policies better than the retrieval system.
The smallest sufficient scopeClear page, path, depth, and result limits improve predictability.
The outputs to requestRequesting only what you use reduces response size and downstream processing.
Validation of critical factsWeb content changes and structured extraction should be checked before consequential use.
Storage, retention, and user-facing behaviorYour product owns its data lifecycle and recovery experience.

Performance Without Made-Up Numbers

Timing varies by source, output, and page count. Scrape returns directly; longer work uses jobs.

Benchmark the real sources and formats your product will use.
Example
curl --fail-with-body --silent --show-error \
  -X POST "https://api.datablue.dev/v1/scrape" \
  -H "Authorization: Bearer $DATABLUE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "links", "images"]
  }' | jq '{
    success,
    time_taken: .data.time_taken,
    words: .data.metadata.word_count,
    links: (.data.links | length),
    images: (.data.images | length)
  }'

A Basic Request

Export an API key, scrape one stable page, and inspect the response.

export DATABLUE_API_KEY="wh_your_api_key"

curl --fail-with-body --silent --show-error \
  -X POST "https://api.datablue.dev/v1/scrape" \
  -H "Authorization: Bearer $DATABLUE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "links", "images", "headings"]
  }' | tee datablue-response.json
Example response
{
  "success": true,
  "data": {
    "markdown": "# Example Domain

This domain is for use in illustrative examples.",
    "links": ["https://www.iana.org/domains/example"],
    "images": [],
    "headings": [{"level": 1, "text": "Example Domain"}]
  }
}

If you used the cURL example, inspect the saved response without printing the entire payload:

Example
jq '{
  success,
  source: .data.metadata.source_url,
  title: .data.metadata.title,
  word_count: .data.metadata.word_count,
  markdown_preview: (.data.markdown | .[0:300]),
  link_count: (.data.links | length),
  image_count: (.data.images | length),
  time_taken: .data.time_taken
}' datablue-response.json

A successful first request proves four things

  1. Your API key is accepted.
  2. DataBlue can retrieve and process the source.
  3. The response contains the output formats you requested.
  4. Your application can parse the response without depending on undocumented internals.

Use DataBlue From Your Preferred Surface

SurfaceUse it forDocumentation
PlaygroundCompare outputs and verify a source before writing integration codeOpen Playground
REST APILanguage-independent HTTP integration and complete request controlFirst Request
Python SDKSync and async Python services, notebooks, and data pipelinesPython SDK
Node.js SDKAsync Node.js and TypeScript applicationsNode SDK
MCP serverControlled DataBlue tools for compatible AI agents and coding clientsMCP Server

Continue From Here