Skip to main content
Lead generation is a specialised agent run. You give it criteria; it searches the live web, opens candidate sites, cross-checks what it finds, and writes enriched leads into your workspace as it goes. Open Leads → Find leads, or call POST /api/leads/research.

The description does most of the work

Write it the way you would brief a junior researcher: who they are, why they qualify, and what would disqualify them.

Structured criteria

The fields beside the description are what the agent enforces, and what gets saved when you store the search as a profile.
required_fields: ["email"] is the default and usually the right one. Adding phone as required will cut your yield sharply, because most B2B sites do not publish direct phone numbers.

Extra columns

extra_columns is where lead research turns into lead enrichment. Each entry is a name plus a description of what to look for:
Each becomes a column in the Leads grid and a key on the lead’s custom object, so you can filter, export and merge on it like any other field.

Find more like these

Select existing leads and choose Find similar. ManyPI snapshots those leads into the criteria and searches for companies that match their shape. Over the API this is seed_lead_ids on POST /api/leads/research. The seeds are copied into the saved criteria, so the search stays re-runnable even after those leads change.

Saved searches

A search saved as a profile keeps its structured criteria, so you can re-open it, edit it and run it again. Re-running only saves companies you do not already have, which makes a saved search a recurring lead source rather than a one-off. Profiles are managed at /api/leads/research-profiles, and every run stamps the profile it came from — that is what the campaign filter in the Leads grid groups by.

What happens during a run

1

Planning

The agent turns your criteria plus your brand context into a research plan.
2

Sourcing

It searches and crawls: directories, company sites, marketplaces, maps and whatever sources you named.
3

Qualifying

Each candidate is checked against your criteria and exclusions. Failures are dropped silently rather than saved as noise.
4

Enriching

Required fields and extra columns are researched per company.
5

Saving

Leads are written in batches as they are confirmed, so you see results while the run is still going.

It will ask you questions

If your criteria are ambiguous the run pauses and asks. In the dashboard the question appears in the chat. Over the API the run’s status becomes paused and the question is in result_summary; answer with POST /api/agents/runs/{id}/reply and the same run continues.

Capacity and limits

Your plan caps stored leads (50 / 2,500 / 25,000 / 100,000). Before a run starts, ManyPI reads your remaining capacity and clamps count to it. If you asked for 50 and have room for 8, the response tells you so:
A completely full workspace returns 403 with code: "lead_limit". Archive leads you are done with, or upgrade. Check headroom any time with GET /api/leads/capacity.

Cost

Lead research spends AI credits (reasoning and extraction) and crawl credits (one per page fetched or search performed). A 25-lead search on a well-indexed niche typically costs a few dozen crawls; a hard niche where the agent has to dig costs more.

Doing it from an AI assistant

With the MCP server connected:
Your assistant calls generate_leads, polls get_agent_run, answers any clarifying question with reply_to_agent, and reads results with search_leads.