← all tools
Data & sourcing

PredictLeads

Catch a company just after it raises, before everyone else calls.

Cost per call0.8–2.4 cr
Your own keyoptional
CategoryData & sourcing

PredictLeads tracks funding rounds, hiring, news and technology adoption. The headline use is a filter no general database offers: companies that closed a Series A last quarter and are hiring for a given role. That is a BD list and a candidate brief in one query.

PredictLeads is a trigger. It says which companies just became worth contacting; the rest of the pipeline works out who to contact.

things you can ask for

  • Which companies raised a Series A this quarter, and who runs talent there per Apollo?
  • Show me recently funded firms hiring account executives, then enrich them via FullEnrich
  • Take this funding list and have Hyreflow Agent score each one against my ICP
  • Has this company announced anything worth referencing in a first line?

works well with PredictLeads

  • Apollo

    put names to the freshly funded companies

  • Hyreflow Agent

    score a long funding list without reading it yourself

  • ClinicalTrials

    in pharma and biotech, trial activity is the earlier signal

  • TheirStack

    confirm the round turned into actual job postings

  • Lemlist

    reference the raise in a multichannel sequence

Skills that use PredictLeads

A skill is a whole pipeline your agent already knows. These ones call PredictLeads as part of the run.

signal5 steps

Funded round → 30-day talent sweep

PredictLeads signals fresh funding. Build a candidate pool via GitHub + Apollo weeks before the JDs go live.

coming soon

What your agent reads before it touches PredictLeads

Every tool ships with a written playbook, and the agent loads it before the first call. Auth, rate limits, what each call costs, which actions need your approval, and the mistakes worth avoiding. It is the difference between an agent that knows the tool and one that guesses at it.

Read the PredictLeads docs →
Show the raw playbookwritten for the agent

HOW in lib/predictleads.py. Index: reference/docs/predictleads/raw/endpoints.md.

⚠️ Status — read first

  • CONFIRMED: base https://predictleads.com/api/v3, JSON:API shape, meta.count only when page is sent, the /financing_events discover path, and the billing model.
  • INFERRED — verify on first pilot: the auth header names, the per-dataset slugs, and all filter param names. docs.predictleads.com is a JS-gated SPA; it was not spec-scraped (no Firecrawl/API key at build time). Run a 1-record pilot on each endpoint before bulk; re-derive by Firecrawl-scraping the detail pages (or pasting the Authentication + endpoint pages) when a key is available.

Auth & config

  • Base: https://predictleads.com/api/v3. Auth (inferred): headers X-Api-Key + X-Api-Token, env PREDICTLEADS_API_KEY / PREDICTLEADS_API_TOKEN. BYOK (client's own PredictLeads account).
  • Pagination: page param (JSON:API). iter_discover_financing_events / iter_discover_job_openings auto-walk it. meta.count appears only when page is sent.

Billing

  • Company endpoints (/companies/{id}/{dataset}) bill per request (0.8 credits/req, up to 1000 records) — cheapest relative to a broad discover sweep; use when you have the domain.
  • Discover endpoints (/{dataset}) bill 0.8 credits/result — use only for broad search. technologies() (the tracked-technologies catalog) is the priciest at 2.4 credits/request.
  • Avoid follow/unfollow workflows (webhook/recurring-billing oriented, not one-shot).

Operations

  • Funding (the headline use): discover_financing_events(...) = recently funded companies by round type (e.g. Series A) + date → the discovery Apollo can't do by stage. financing_events(domain) = one company's rounds.
  • Hiring: discover_job_openings(...) = companies hiring a role (e.g. "Account Executive") + recency; job_openings(domain) = a company's open roles (title, categories, onet, salary, dates).
  • News: discover_news_events / news_events(domain) / get_news_event(id).
  • Technographics: technology_detections(domain) / discover_technology_detections / technologies().
  • Relationships: similar_companies, connections, products, github_repositories (all by domain).
  • Generic: company_dataset(domain, dataset, **p) and discover(dataset, **p) cover any dataset; request() covers anything unwrapped.

Do not guess fields

Method names + paths come from the contract; filter param names are inferred — read the method's doc_ref (reference/docs/predictleads/raw/endpoints.md) and confirm on a 1-record pilot before relying on a filter (round type, date, title, category, location). Don't invent param keys.

Handoff — the Series-A-SaaS-with-AE-roles flow (why we built this)

discover_financing_events(round=Series A, recent) → filter SaaS → confirm AE roles via discover_job_openings(title="Account Executive") or job_openings(domain) → qualify vs ICP → dedupe (recruit_crm.search_companies) → recruit_crm.create_company (approval-gated). PredictLeads gives us Deepline-level funding/hiring discovery; the recruiting-CRM write target is ours.

Callable surface — lib/predictleads.py

Import: from lib.predictleads import PredictLeads → instantiate PredictLeads() (reads key from env). Base: https://predictleads.com/api/v3. Generic passthrough: request(method, path, *, params, json).

  • companies(**params) -> Any — GET /companies — discover/list companies (filters inferred — verify on first pilot).
  • company(identifier: str, **params) -> Any — GET /companies/{domain_or_id} — retrieve one company (name, location, ticker, parent…). CONFIRMED family.
  • company_dataset(identifier: str, dataset: str, **params) -> Any — GET /companies/{id}/{dataset} — a company's records for any dataset (0.8 credits/request, ≤1000).
  • connections(identifier: str, **params) -> Any — GET /companies/{id}/connections — partner/customer/vendor connections for a company.
  • discover(dataset: str, **params) -> Any — GET /{dataset} — discover records across all companies (bills per result). Filters inferred — verify.
  • discover_financing_events(**params) -> Any — GET /financing_events — discover recent funding rounds across companies (round type e.g. Series A,
  • discover_job_openings(**params) -> Any — GET /job_openings — discover job openings across companies (e.g. title 'Account Executive', recency). Per result.
  • discover_news_events(**params) -> Any — GET /news_events — discover news events across companies (category/date filters). Per result.
  • discover_technology_detections(**params) -> Any — GET /technology_detections — discover companies by detected technology. Per result.
  • financing_events(identifier: str, **params) -> Any — GET /companies/{id}/financing_events — a company's funding rounds (amount, round type, date, investors).
  • get_job_opening(opening_id: str, **params) -> Any — GET /job_openings/{id} — a single job opening by id.
  • get_news_event(event_id: str, **params) -> Any — GET /news_events/{id} — a single news event by id.
  • github_repositories(identifier: str, **params) -> Any — GET /companies/{id}/github_repositories — a company's public GitHub repositories.
  • iter_discover_financing_events(*, max_records: int = 1000, **params) -> Iterator[dict] — Auto-paginate discover_financing_events via the page param (bounded by max_records).
  • iter_discover_job_openings(*, max_records: int = 1000, **params) -> Iterator[dict] — Auto-paginate discover_job_openings via the page param (bounded by max_records).
  • job_openings(identifier: str, **params) -> Any — GET /companies/{id}/job_openings — a company's open roles (title, categories, onet, salary, dates).
  • news_events(identifier: str, **params) -> Any — GET /companies/{id}/news_events — a company's news events (hiring, expansion, launches, etc.).
  • products(identifier: str, **params) -> Any — GET /companies/{id}/products — products detected for a company.
  • similar_companies(identifier: str, **params) -> Any — GET /companies/{id}/similar_companies — lookalike companies (with similarity score).
  • technologies(**params) -> Any — GET /technologies — the technologies catalog (pricing/spend metadata). Filters inferred — verify.
  • technology_detections(identifier: str, **params) -> Any — GET /companies/{id}/technology_detections — technologies detected on a company (technographics).