Playground Sign in Start free
Lead generation · B2B

Build verified company & contact lists from the open web.

Job boards, company sites, directory listings, news mentions, turned into clean B2B records, deduped against your CRM. The fastest way to fill a pipeline without paying per-record on stale data brokers.

< $0.01
per enriched record
40+
data sources / record
94%
email validity
1.2M
records / day, top customer
What you actually need

The hard parts, already solved.

Discover from intent

Run SERP queries on hire signals, funding news, or product launches. Pipe results through Article Extractor: get clean company mentions, not a soup of nav links.

Schema-typed companies

AI Scraper's company and profile schemas pull name, domain, HQ, employee count, tech stack, social links. Same shape from every source.

Email-pattern inference

We don't buy email lists. We infer patterns from public signatures + verify with SMTP probing. ~94% deliverability across our customer base.

Cross-source dedup

Same company shows up on LinkedIn, Crunchbase, their site, and 3 directories. Our entity-matching collapses them to one record with a unified profile.

Geo-aware sourcing

Local directories, regional job boards, country-specific Companies House data, accessible because we run from clean residential IPs everywhere.

CRM-ready output

Push to HubSpot, Salesforce, Apollo, Clay, or your warehouse. Webhook delivery means new records show up in real time, not in nightly batches.

The pipeline

4 steps. One pipeline.

01
Source
SERP queries for hire signals, funding rounds, conference attendees. Or pass a list of seed domains and we extract from each (and you can chain SERP queries to discover deeper pages).
02
Extract companies
AI Scraper company schema turns each company URL into typed JSON: name, domain, employee count, HQ, tech stack, socials.
03
Find people
AI Scraper profile schema on team pages + LinkedIn-style listings. Returns names, titles, public socials, inferred emails (verified separately).
04
Verify + dedupe
SMTP-verify emails. Match entities across sources. Diff against your CRM. Push only fresh, validated records.
full pipeline · 30 lines
// hire-signal-pipeline.ts
import { Ujeebu } from "ujeebu";

const uj = new Ujeebu(process.env.UJEEBU_KEY);

// 1. Discover companies hiring for "Head of AI"
const serp = await uj.serp({
  engine: "google",
  q: '"head of ai" site:lever.co OR site:greenhouse.io',
  num: 100,
});

// 2. Extract company info from each posting
const companies = await Promise.all(
  serp.organic.map(r =>
    uj.auto({ url: r.url, schema: "job" })
  )
);

// 3. Pull team page for each unique domain
const teams = await Promise.all(
  uniqDomains(companies).map(d =>
    uj.auto({ url: `https://${d}/team`,
              schema: "profile_list" })
  )
);

await crm.upsert(merge(companies, teams));

Built for lead generation. Stress-tested by 3,000+ teams.

Start free