WARHOUNDOPEN SOURCEGitHub
DOCUMENTATION / HOUNDSCRAPER

HoundScraper API

Versioned requests, durable jobs, explicit errors and source provenance.

Collect a page

POST /v1/scrape accepts url and options. Formats include Markdown, text, cleaned HTML, original HTML, links, images, tables, JSON-LD, metadata and selector attributes. Every result includes acquisition details and a source hash.

from houndscraper.client import Client
with Client(api_key=key) as scraper:
    result = scraper.scrape("https://example.com", formats=["markdown", "tables"])
    print(result["data"]["markdown"])

Create and resume jobs

POST /v1/jobs accepts kind, seed URLs, options and explicit budgets. Query status, cursor-paginated results or reconnectable SSE events. Pause, cancel and resume preserve the frontier. Idempotency keys are tenant-scoped.

Compatibility is explicit

The Firecrawl v2 adapter supports a tested subset of scrape, crawl and batch behavior. Unknown options are rejected. Use the native API for asynchronous map and complete provenance; consult the repository compatibility table.