ClawEngine.ai

By use case · Lead generation

Lead generation scraping API for clean B2B company data

The short answer

A lead generation scraping API extracts firmographic data, company name, industry, location, headcount signals, tech stack and public contact details, from company websites and public business directories, and returns it as typed JSON instead of raw HTML. ClawEngine renders each page, strips the boilerplate and fills a schema you define in one call, so a list of domains becomes a clean, enrichable table your CRM can import. It runs on public, permitted pages only, reads robots.txt and honors crawl-delay, and it is not built to pull personal data from behind logins. Plans start at $39 a month.

Clean markdown & JSON · JavaScript rendered · robots.txt respected

Last updated July 2026

Live Extraction
GET
try:

Hit Extract to turn this page into clean, LLM-ready data.

robots.txt respected · public data only

Markdown · JSON · structured fields, from one API call. Crawling, rendering and extracting ...

Most sales lists start as a pile of company URLs and end as a spreadsheet somebody cleaned by hand. A lead generation scraping API removes that middle step: point it at a company site or a public directory listing, define the fields you want, and get back a typed record you can score, route and load into your CRM. ClawEngine renders the JavaScript, strips navigation and marketing fluff, and returns clean JSON in one request, so enrichment is a schema, not a scraping project.

The honest boundary matters here. ClawEngine is built for public, permitted business data: firmographics, public company details and the information a company publishes about itself. It reads robots.txt, respects site Terms of Service and honors crawl-delay, and it does not target logins, paywalls or private profiles. Scraping personal contact data carries privacy obligations under laws like the CCPA, so treat people data with care and lean on the public business surface, which is where most useful qualification signal lives anyway.

CRAWL RENDER JS EXTRACT MARKDOWN JSON

Any URL in LLM-ready data out

robots.txt respected public data only

Why it works

What you get with Lead generation

Domains in, typed leads out

Feed a list of company URLs and a schema, and ClawEngine returns a clean firmographic record per company, ready to score and load into your CRM without a cleanup pass.

Public business data only

It works on public company pages and permitted directories, reads robots.txt and honors crawl-delay, and never targets logins, paywalls or private profiles, so your pipeline stays defensible.

Renders modern marketing sites

Company sites build content client-side; ClawEngine loads each page in a real browser environment before extracting, so JavaScript-rendered firmographics come back complete.

What it handles

Any URL in, clean structured data out

Point ClawEngine at a public page and it crawls, renders the JavaScript and extracts clean markdown or typed JSON in one call. Define a schema for structured fields, and respect robots.txt and Terms of Service by default.

  • Enriches a list of domains into typed company records
  • Extracts industry, location and headcount signals
  • Returns clean JSON your CRM can import directly
  • Renders JavaScript company sites before extracting
  • Keeps company and personal fields separate by schema
  • Stays on public, permitted pages only
POST /v1/extract extraction result
200 · JSON
{
  "url": "https://example.com/products/atlas",
  "title": "Atlas Field Notebook",
  "markdown": "# Atlas Field Notebook\n\nDurable...",
  "data": {
    "name": "Atlas Field Notebook",
    "price": 24.00,
    "currency": "USD",
    "rating": 4.7
  },
  "links": [ "/products", "/cart" ],
  "metadata": { "rendered": true }
}
JS rendered · boilerplate stripped ✓ robots.txt respected

Why ClawEngine

One API that crawls, renders and extracts

Not a raw HTML dump, not a headless browser fleet to run, and not a brittle parser to maintain. One call crawls a public page, renders its JavaScript and returns clean markdown or typed JSON, built for RAG pipelines and AI agents.

LLM-ready output

Clean markdown or typed JSON with the boilerplate stripped, so the data drops straight into a vector store, a prompt or an agent without a cleanup step.

JavaScript rendered

Each page loads in a real browser environment before extraction, so single-page apps and client-rendered content come back complete, not as an empty shell.

Compliance-first

ClawEngine works on public, permitted data only. It respects robots.txt and site Terms of Service and honors crawl-delay, so responsible scraping is the default.

Code examples

Enrich a company domain in a few lines

Send a company URL and a schema of the firmographic fields you want. ClawEngine renders the page, strips the boilerplate and returns a clean, typed lead record. Loop it over your list of domains to enrich a whole CRM segment.

curl Extract firmographics from a company site (POST /v1/extract)
curl https://api.clawengine.ai/v1/extract \
  -H "Authorization: Bearer $CLAWENGINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example-company.com/about",
    "format": "json",
    "render": true,
    "schema": {
      "company_name": "string",
      "industry": "string",
      "hq_location": "string",
      "employee_range": "string",
      "public_contact": "string"
    }
  }'
python Enrich a list of domains and score fit
import os, requests

BASE = "https://api.clawengine.ai/v1"
headers = {"Authorization": f"Bearer {os.environ['CLAWENGINE_API_KEY']}"}
schema = {
    "company_name": "string", "industry": "string",
    "hq_location": "string", "employee_range": "string",
}

domains = ["https://acme.example.com", "https://globex.example.com"]
TARGET_INDUSTRIES = ("software", "fintech", "logistics")

leads = []
for url in domains:
    rec = requests.post(f"{BASE}/extract", headers=headers,
                        json={"url": url, "format": "json", "schema": schema}).json()["data"]
    rec["fit"] = any(t in (rec.get("industry") or "").lower() for t in TARGET_INDUSTRIES)
    leads.append(rec)

qualified = [l for l in leads if l["fit"]]
print(f"{len(qualified)} of {len(leads)} match the ICP")
node Pull a directory listing to JSON
// A public directory listing page becomes a clean company record.
const res = await fetch("https://api.clawengine.ai/v1/extract", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CLAWENGINE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    url: "https://directory.example.com/companies/acme",
    format: "json",
    schema: {
      company_name: "string",
      category: "string",
      city: "string",
      website: "string",
    },
  }),
});

const { data } = await res.json();
console.log(data.company_name, data.website);

People also ask

Lead generation scraping API: the questions buyers ask

What is a lead generation scraping API?

A lead generation scraping API is a hosted service that turns public company pages into structured lead data through one call. You send a company URL or a directory listing and a schema of the fields you want, and it renders the page, strips the boilerplate, and returns firmographics like industry, location, headcount signals and public contact details as typed JSON. The parsing runs on the service side, so you enrich a list of domains without maintaining a scraper per site.

Is scraping data for lead generation legal?

Collecting publicly available business data is broadly lawful in the United States, and US courts have repeatedly declined to treat access to public web data as unauthorized access under the Computer Fraud and Abuse Act. The limits that still apply are a site's Terms of Service, its robots.txt, and privacy law once personal data is involved: the CCPA and similar rules govern how you collect and use data about individuals. Public firmographic data about a company is lower risk than personal contact data. ClawEngine works on public, permitted pages only. This is general information, not legal advice.

How do you scrape leads from a website?

Start with a list of company domains or public directory URLs, then extract each one against a fixed schema so every record comes back in the same shape. Useful fields include company name, industry, location, employee-count signals, technologies mentioned and any public contact route. Store the records keyed by domain, score them against your ideal customer profile, and push the qualified ones to your CRM. ClawEngine handles the rendering and extraction so this is a schema and a loop, not a parser per site.

Can I scrape LinkedIn for leads?

LinkedIn's Terms of Service prohibit scraping and most useful profile data sits behind a login, so it is not a source a compliance-first tool targets, and doing it puts your accounts and data at risk. ClawEngine does not access logins or private profiles. The better and more defensible play is the public business surface: company websites, public directories, press pages and structured markup, which carry the firmographic signal you need to qualify an account without the legal and account exposure.

What data should a B2B lead record contain?

A record you can act on captures the company (name, domain, industry, location), size signals (employee-count hints, funding or hiring cues), fit signals (technologies mentioned, products, the segment they serve) and a public route to reach them. Keep company data and any personal data in separate fields so you can apply different retention and consent rules to each. Defining this as a schema up front is what makes the output usable the moment it lands, rather than a cleanup task.

How is a scraping API different from a lead database?

A lead database sells you a pre-built, licensed dataset that is broad but often stale and generic. A scraping API builds a fresh, custom dataset from the exact public sources you choose, so the fields and the target list are yours to define and the data is as current as your last run. The trade is convenience versus control: a database is faster to start, a scraping API gives you accuracy, freshness and a list nobody else has.

Good questions

Questions about Lead generation

Yes. Take the domains you already have, run each through the extract endpoint with your firmographic schema, and merge the typed fields back onto the account. Because every record comes back in the same shape, the merge is a join on domain rather than a manual reconciliation, so you can refresh stale accounts on a schedule.
ClawEngine returns whatever is on the public page against the schema you define, which can include a public business contact route. It is not built to pull personal profiles from behind logins, and you are responsible for handling any personal data in line with privacy law like the CCPA. Keeping the schema focused on company-level firmographics is the lower-risk, and usually more useful, approach.

Explore more

More ways to turn the web into data with ClawEngine

Stop wrangling raw HTML. Get LLM-ready data.

Point ClawEngine at a public page and one call crawls, renders the JavaScript and extracts clean markdown or typed JSON, ready for your RAG pipeline or AI agent. Public, permitted data only.

See pricing

Crawl · render JS · extract markdown & JSON · robots.txt respected, public data only