Skip to content

Every source.
One contract.

Scrapers you never babysit.

Get your free API key

Trusted by teams shipping data

  • Netdot
  • Veltrix
  • Sparkweb
  • Webgear
  • Digitech
  • Codelink

Features

Everything you’d otherwise babysit.

  • One shape, whatever the source.

    Fields, types and nulls are set by the wire contract, not by the page you scraped.

    youtube.comments Just now

    Returned 1,204 rows on wire v1.2, every field typed and checked against the golden vectors for this version.

  • Metering you can audit

    Every call is counted against your key before it runs, and the total reads back.

    Records this month 412,806
    • Usage
    • Quota
    • Audit log
  • Unattended operation.

    Cron the actor, stream rows straight to storage, and resume from the cursor.

    A scheduled run scanning a source and handing back a CSV report

Features

Every source.
One contract.

  • An actor reply rendered field by field against its wire contract
    Same shape everywhere

    Every actor answers in one wire contract, so a parser written for one source reads them all.

  • Schemas you can diff

    Every contract change ships as a golden vector you can diff in CI.

    A contract version header with its golden-vector checksum
    A schema diff listing the fields a version added or renamed
  • Runs resume from the stored cursor

    Pagination state lives in core, so a retry picks up mid-page instead of re-billing rows.

    A run timeline picking back up from its last stored cursor

Built on boring foundations

Metering, quota, audit and cursor pagination live in the core, so every actor inherits them on day one.

See how the core works
  • One wire contract

    Every actor speaks the same shape, versioned and gated.

  • Scheduled runs

    Cron your actors and stream results straight to storage.

  • Usage metering

    Per-key counters you can read back over the same API.

  • MCP surface

    The whole catalogue, exposed as tools your agent can call.

  • Cursor pagination

    Resume a run exactly where the last one stopped.

Features

Every hard part handled. Nothing left to operate.

  • Runs that watch themselves

    Failures retry inside the actor, not in the job queue you maintain.

  • One command to ship

    Scaffold, verify against golden vectors and tag, in one command.

    bat ship K
  • Contracts you can read

    Every wire version is a file in the repo, not tribal knowledge.

    • listings.v4.contract
    • maps.v2.contract
    • youtube.v3.contract
  • Keys scoped per actor

    A key reaches one source, never the catalogue, and core checks that scope on every call.

    BatScrape console showing one actor key and the sources it can reach
    Mara Vogel Portrait of Mara Vogel
  • Encrypted end to end

    Payloads are sealed in transit and at rest, and keys rotate on a schedule you choose.

Capabilities

  • Actor marketplace

    One actor per source — YouTube, maps, listings, feeds — all on the same wire.

    • YouTube
    • Maps
    • Listings
    • Feeds
    • Reviews
  • Versioned contracts

    Golden vectors gate every release, so the shape you parse never moves under you.

    Every version stays callable.

  • MCP-native access

    Point Claude, Cursor or your own agent at it — no glue code.

Ready to stop babysitting scrapers?

When no scraper exists for your source, BatScrape ships one.

Get API keys
  • One contract for every source
  • Versioned wire, no surprises