API

The same data, one call at a time

A hosted JSON API at api.scrapebench.dev, built from the same parsers as the actors on the board. No account and no Apify run: send a query, get one page of up to 25 rows, pay for that page. Agents pay per call with x402; developers can subscribe on RapidAPI.

Endpoints

11 services, priced per page

Virginia Contractor License Lookup

POST /v1/va-contractor-licenses

Look up Virginia contractor and trade licences (DPOR) by business or person name and city, returning licence number, class, address, expiry, specialties and email. Statewide roster, refreshed nightly from DPOR's official regulant lists.

x402
$0.08 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
nightly roster cache

California Contractor License Directory

POST /v1/ca-contractor-directory

List every California-licensed contractor in one trade classification and county (e.g. C-10 electrical in Los Angeles), with licence status, address, phone, bond and workers' comp. Read live from the CSLB public data portal.

x402
$0.04 / 25-row page
RapidAPI
free 20/mo · PRO $9/mo
Freshness
live

Commercial Real Estate Listings (Crexi)

POST /v1/crexi-listings

Search US commercial real-estate listings on Crexi by city or keyword, property type and price band, returning asking price, square footage, address, county, coordinates and brokerage. Paywalled '****' placeholders are dropped, never passed through as values.

x402
$0.06 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
live

Prediction Market Odds (Kalshi + Polymarket)

POST /v1/prediction-markets

Live Kalshi and Polymarket prediction-market odds by keyword, category or city, one schema for both venues, with the price spread when the same question trades on both. Snapshot refreshed hourly from the exchanges' public APIs.

x402
$0.06 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
hourly snapshot

SEC EDGAR Filings Search + Company Facts

POST /v1/edgar-signals

Search SEC EDGAR full text (8-K, 10-K, 10-Q, S-1, Form D and more) by keyword, form type, company or date, and get each hit with the filing URL and the filer's latest reported revenue, net income and shares from XBRL company facts. Ticker map cached nightly; per-page price, no subscription.

x402
$0.06 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
live (ticker map nightly)

California Contractor License Verification (CSLB)

POST /v1/ca-contractor-lookup

Verify a California contractor licence by CSLB licence number or business name, returning licence status (normalised and as CSLB words it), classifications, issue and expiry dates, bond and workers' comp. Read live from the CSLB 'Check A License' registry; an unknown licence number is answered free.

x402
$0.04 / 25-row page
RapidAPI
free 20/mo · PRO $9/mo
Freshness
live

US Business Registrations Feed (Multi-State)

POST /v1/business-registrations

New and existing business entities from four state registries (CO, OR, NY, CT) in one schema, filterable by state, formation date, city, county and entity type. Nightly refresh of each state's open-data file covering the last 400 days of formations; a `since` date returns only what is new.

x402
$0.06 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
nightly roster cache

Business Entity KYB Check (US States + OFAC)

POST /v1/business-entity-check

Check a business entity's registry record and standing in CO, OR, NY or CT by name or entity id, with OFAC SDN sanctions and HHS-OIG LEIE exclusion-list matches on the same row. For KYB, vendor onboarding and counterparty checks by agents.

x402
$0.08 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
live (lists nightly)

New Mexico Contractor License Lookup & Verify (NM CID)

POST /v1/nm-contractor-licenses

x402 + MCP; Rapid listing coming

Look up New Mexico contractor licences (Construction Industries Division) by licence number, business name, city, ZIP or status, returning status, expiry and business address. Every licence PSI Exams lists for NM CID, active and lapsed, refreshed monthly.

x402
$0.08 / 25-row page
RapidAPI
coming
Freshness
monthly snapshot

Philippines Business Directory (Phone & Address)

POST /v1/philippines-business-directory

Find Philippine businesses by category, province, city or name, with phone, street address, city and province for each listing. Every business in the businesslist.ph directory (214,000 listings across 372 categories), one row per business, refreshed when the directory snapshot is.

x402
$0.08 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
monthly snapshot

Malaysia Business Directory (Phone & Address)

POST /v1/malaysia-business-directory

Find Malaysian businesses by category, state, city or name, with phone, street address, city, state and postcode for each listing. Every business in the businesslist.my directory (283,000 listings across 365 categories), one row per business, refreshed when the directory snapshot is.

x402
$0.08 / 25-row page
RapidAPI
free 20/mo · PRO $19/mo
Freshness
monthly snapshot

/sample, /schema, /health and /openapi.json are free GETs. Only POST /v1/<service> is paid: one page per call, zero-based ?page=N, and the response carries next_page (null on the last page).

Pricing

Every price on one table

Servicex402 per 25-row pageRapid BASICRapid PRO
va-contractor-licenses $0.08 free, 20 req/mo $19/mo, 1,000 req
ca-contractor-directory $0.04 free, 20 req/mo $9/mo, 1,000 req
crexi-listings $0.06 free, 20 req/mo $19/mo, 1,000 req
prediction-markets $0.06 free, 20 req/mo $19/mo, 1,000 req
edgar-signals $0.06 free, 20 req/mo $19/mo, 1,000 req
ca-contractor-lookup $0.04 free, 20 req/mo $9/mo, 1,000 req
business-registrations $0.06 free, 20 req/mo $19/mo, 1,000 req
business-entity-check $0.08 free, 20 req/mo $19/mo, 1,000 req
nm-contractor-licenses $0.08 x402 + MCP; Rapid listing coming
philippines-business-directory $0.08 free, 20 req/mo $19/mo, 1,000 req
malaysia-business-directory $0.08 free, 20 req/mo $19/mo, 1,000 req

When it is free: a query that matches nothing is answered free with a notice row, before any 402 (x402 and MCP); on RapidAPI, BASIC is free for 20 requests a month and every call, zero-match included, counts as one request. Rapid plans are hard limits: calls stop at the quota, no overage invoices.

How to pay

Three ways in

x402 agents

An unpaid POST answers 402 with the price in the PAYMENT-REQUIRED header: USDC on Base, exact amount, settled through the Coinbase facilitator. An x402 client signs it and retries with PAYMENT-SIGNATURE; the rows come back with a PAYMENT-RESPONSE receipt. No account, no key. Each route is also listed in the x402 Bazaar.

MCP agents

A streamable-HTTP MCP server at api.scrapebench.dev/mcp, one tool per service. tools/list is free; tools/call is priced like the POST and paid with x402 in the call's _meta.

{
  "mcpServers": {
    "scrapebench": {
      "type": "http",
      "url": "https://api.scrapebench.dev/mcp"
    }
  }
}

RapidAPI developers

Each service is its own RapidAPI listing, a free BASIC and a PRO plan per service (see the price table), hard limits. Your RapidAPI key works on that listing only; its console has code snippets in every language.

Try it

A paid call in Python

The x402 package's httpx client reads the 402, signs a USDC transfer for exactly the quoted price and retries. Use a throwaway wallet holding a dollar or two.

# pip install "x402[httpx,evm]" eth-account
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client
from x402.mechanisms.evm.signers import EthAccountSigner

async def main():
    signer = EthAccountSigner(Account.from_key(os.environ["PAYER_PRIVATE_KEY"]))  # a wallet with a little USDC on Base
    client = register_exact_evm_client(x402Client(), signer, networks="eip155:8453")
    async with x402HttpxClient(client, timeout=120) as http:  # reads the 402, signs, retries
        r = await http.post("https://api.scrapebench.dev/v1/va-contractor-licenses?page=0", json={"name":"engineering"})
    print(r.status_code, r.json()["rows"][:1])

asyncio.run(main())

One request and one answer per service

The example body each service declares, and a real row of the 200 a paid call returns (trimmed to the headline fields; /schema lists them all). Sent with plain curl the request answers the 402 and its price.

va-contractor-licenses $0.08 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/va-contractor-licenses?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"name":"engineering"}'
200 response
{
  "service": "va-contractor-licenses",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "license_number": "082040",
      "license_type": "Class A Contractor",
      "business_name": "CORNERSTONE ENGINEERING AND CONSULTING SERVICES PLLC",
      "city": "LA CROSSE",
      "state": "VA",
      "expiration_date": "02/29/2028",
      "specialties": [
        "EMW",
        "ENV"
      ],
      "email": "bdougherty@cornerstoneusa.net"
    }
  ]
}

ca-contractor-directory $0.04 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/ca-contractor-directory?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"license_class":"C-10","county":"Alameda"}'
200 response
{
  "service": "ca-contractor-directory",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "license_number": "22726",
      "business_name": "RANSOME COMPANY",
      "classifications": [
        "A",
        "C10"
      ],
      "status": "CLEAR",
      "city": "SAN LEANDRO",
      "county": "Alameda",
      "phone": "(510) 686 9900",
      "expiration_date": "10/31/2027"
    }
  ]
}

crexi-listings $0.06 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/crexi-listings?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"query":"Buda","types":["Retail"]}'
200 response
{
  "service": "crexi-listings",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "listing_id": "2661656",
      "name": "6229 Old Lockhart Road",
      "full_address": "6229 Old Lockhart Road, Buda, Travis County, TX 78610",
      "asking_price": 650000,
      "property_types": [
        "Retail",
        "Industrial",
        "Land"
      ],
      "brokerage_name": "John B. Sanford Real Estate",
      "latitude": 30.0733165,
      "longitude": -97.7213696
    }
  ]
}

prediction-markets $0.06 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/prediction-markets?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"query":"fed","venue":"both"}'
200 response
{
  "service": "prediction-markets",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "venue": "kalshi",
      "market_id": "KXFEDDECISION-26SEP-H0",
      "question": "Will the Federal Reserve Hike rates by 0bps at their September 2026 meeting?",
      "subtitle": "Fed maintains rate",
      "yes_price": 0.49,
      "no_price": 0.52,
      "implied_probability": 0.49,
      "volume": 14781750.91,
      "matched_on": [
        "kalshi"
      ],
      "spread": null
    }
  ]
}

edgar-signals $0.06 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/edgar-signals?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"query":"\"going concern\"","forms":["10-K"],"date_from":"2026-07-17"}'
200 response
{
  "service": "edgar-signals",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "cik": "0002029303",
      "company": "Tech Tonic Group Corp.",
      "ticker": "THTG",
      "form": "10-K",
      "filed_date": "2026-08-27",
      "filing_url": "https://www.sec.gov/Archives/edgar/data/2029303/000147793226005286/0001477932-26-005286-index.htm",
      "revenue": 66920,
      "net_income": 1148
    }
  ]
}

ca-contractor-lookup $0.04 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/ca-contractor-lookup?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"license_number":"22726"}'
200 response
{
  "service": "ca-contractor-lookup",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "license_number": "22726",
      "business_name": "RANSOME COMPANY",
      "matched_by": "license_number",
      "status": "active",
      "status_text": "This license is current and active.",
      "classifications": [
        "A",
        "C10"
      ],
      "expiration_date": "10/31/2027",
      "bond_amount": "25,000",
      "workers_comp_type": "Insurance"
    }
  ]
}

business-registrations $0.06 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/business-registrations?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"states":["CO"],"since":"2026-10-14","entity_type":"LLC"}'
200 response
{
  "service": "business-registrations",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "entity_key": "CO:20268268771",
      "state": "CO",
      "name": "Oscar's Handyman Business LLC",
      "entity_type": "LLC",
      "status": "active",
      "formation_date": "2026-10-14",
      "principal_address": "4721 E Colorado Ave, Denver, CO 80222",
      "registered_agent": "Registered Agents Inc"
    }
  ]
}

business-entity-check $0.08 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/business-entity-check?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"name":"acme","state":"CO"}'
200 response
{
  "service": "business-entity-check",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "entity_key": "CO:19871570075",
      "state": "CO",
      "name": "ACME PAWNSHOP INC.",
      "entity_type": "Corp",
      "status": "active",
      "formation_date": "1984-05-03",
      "city": "Colorado Springs",
      "ofac_match": false,
      "leie_match": false,
      "match_method": "none"
    }
  ]
}

nm-contractor-licenses $0.08 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/nm-contractor-licenses?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"name":"construction","city":"Albuquerque","status":"Active"}'
200 response
{
  "service": "nm-contractor-licenses",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "license_number": "1010",
      "business_name": "HOUSE, K. L. CONSTRUCTION COMPANY INC.",
      "status": "Active",
      "expiration_date": "10/31/2027",
      "address": "PO BOX 90213",
      "city": "ALBUQUERQUE",
      "zip_code": "87199"
    }
  ]
}

philippines-business-directory $0.08 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/philippines-business-directory?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"category":"travel-agents","province":"Metro Manila"}'
200 response
{
  "service": "philippines-business-directory",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "listing_id": "209914",
      "name": "LANDSAIR TOURS AND TRAVEL CORPORATION",
      "phone": "(02)85235787",
      "phone_e164": "+63285235787",
      "street": "Unit 2-E, Osmenia Bldg. 1991 A.Mabini St. Brgy. 701 Zone 077, Malate",
      "city": "Manila",
      "region": "Metro Manila",
      "categories": [
        "Travel Agents",
        "Hotels"
      ]
    }
  ]
}

malaysia-business-directory $0.08 / page

curl -i -X POST 'https://api.scrapebench.dev/v1/malaysia-business-directory?page=0' \
  -H 'Content-Type: application/json' \
  -d '{"category":"car-parts-and-accessories"}'
200 response
{
  "service": "malaysia-business-directory",
  "page": 0,
  "page_size": 25,
  "next_page": 1,
  "rows": [
    {
      "listing_id": "384689",
      "name": "Myparts Online Sdn Bhd",
      "phone": "0441144388",
      "phone_e164": "+60441144388",
      "street": "1888 Lorong Makmur 3/2, Taman Industri Makmur, 09600 Lunas",
      "region": "Kedah",
      "postal_code": "09600",
      "categories": [
        "Car Parts and Accessories"
      ]
    }
  ]
}

Empty answers are free

A query that matches nothing is not charged. It answers 200 with a single notice row (notice_type no_results, not_ready, blocked …) instead of a silent empty page. Roster-backed services (Virginia, business registrations, prediction markets) know before any 402 and never ask. Live services ask, check the result, and cancel the verified payment when the page holds only a notice: nothing moves on-chain. On RapidAPI a zero-match call still uses one request of your monthly quota.

Every service also accepts an optional purpose: one sentence on what you need the data for. It never changes the price or the rows; it tells us what to improve. Requests are logged, including IP address, payment address and query, for abuse prevention and to improve the service; each answer carries an X-Request-Id to quote if something looks wrong.