docs
Dashboard

REST API / Scrape

Scrape a company website

A company's website as structured JSON: name, description, headings, key links, social profiles and the page text, ready for your agent to read.

POST/v1/scrape/companyMCP: scrape_company
Scrape units
1 per page read
Plans
Paid plans with scrape units
Failed pages
0 units

Body parameters

domainstring

Company domain, e.g. "northwind.io".

urlstring

A page to start from instead of the homepage. Overrides domain.

max_pagesinteger

1–10. Default 1 (the homepage). Higher values also read the about, pricing, customers, product and careers pages, in that order, when the site has them.

Response

domain, url, name, description, headings (up to 25, from the first page), key_links (whichever exist of pricing, about, customers, careers, contact, blog, docs, product, login, signup), social (linkedin, x, github, youtube, facebook, instagram), pages (each with url, title, description and up to 6,000 characters of text), units_used and scraped_at. Then usage with scrape_units_counted and scrape_units_left, and request_id.

Only pages that come back with content count. Pages that time out, are blocked or return an error are skipped and cost nothing. robots.txt is respected.

Scrape units are an add-on on paid plans: 1,000 for $9, 5,000 for $19 or 20,000 for $49, from Billing. Scraping never touches your search or enrichment meters. More in Web scraping.

Errors

StatustypeMeaning
400invalid_requestA value isn't valid. The message names the field in param.
401unauthorizedMissing, invalid, expired or revoked key. See Authentication.
402scrape_units_exhaustedNo scrape units left. Add a pack in Billing.
403forbiddenFree plan: scraping isn't included, and the body has upgrade_url. Also returned for read-only keys.
404not_foundThe first page couldn't be read. Nothing was counted.
503unavailableScraping is busy or down. Nothing was counted. See Retry-After.

Was this page useful? Tell us

cURLTypeScriptPython
curl https://api.leadsets.ai/v1/scrape/company \
  -H "Authorization: Bearer $LEADSETS_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 0c5e…" \
  -d '{
    "domain": "northwind.io",
    "max_pages": 3
  }'
Response200 OK
{
  "domain": "northwind.io",
  "url": "https://northwind.io/",
  "name": "Northwind Analytics",
  "description": "Product analytics for B2B teams.",
  "headings": ["Know which accounts are ready to buy", "Pricing"],
  "key_links": { "pricing": "https://northwind.io/pricing",
                 "careers": "https://northwind.io/careers" },
  "social": { "linkedin": "https://www.linkedin.com/company/northwind-analytics" },
  "pages": [
    { "url": "https://northwind.io/", "title": "Northwind Analytics",
      "description": "Product analytics for B2B teams.",
      "text": "# Know which accounts are ready to buy…" }
  ],
  "units_used": 3,
  "scraped_at": "2026-11-11T09:30:02Z",
  "usage": { "scrape_units_counted": 3, "scrape_units_left": 997 },
  "request_id": "req_4e8b0f2c6d19"
}