A B2B data API and MCP server for the agents you build
Leadsets gives developers building AI SDRs, research agents and products eight tools for people and company search, enrichment, email verification and website scraping, through a remote MCP server (https://mcp.leadsets.ai) and a REST API with TypeScript and Python SDKs. Every record carries match reasons, verification status, confidence and checked dates. Plans are flat monthly prices from $29 with published five-hour and weekly limits, plus a Free plan with 1,000 enrichment records and 100 search records, no card.
| Job | What you need | How Leadsets does it |
|---|---|---|
| Find prospects from an ICP | Filters the agent can set and results it can explain | search_people and search_companies with match_reasons on every result |
| Enrich contacts and accounts | Current role, company and firmographics with freshness | enrich_person and enrich_company, each field with source and checked date |
| Check emails before sending | Honest status, not a guess | verify_email: verified, catch-all, unknown or invalid, with a confidence score |
| Research accounts and timing | Structured site and hiring data | scrape_company and scrape_jobs, billed in scrape units |
| Pace long runs | Metering the agent can read | get_usage (free) and a usage object in every response |
| Recover from failures | Typed errors and safe retries | Machine-readable error types, Retry-After, idempotency keys |
Where B2B data gets in the way of agent builders
If you are building an AI SDR, a research agent or a product feature that needs people and company data, the data layer is often the part that breaks first. A few patterns come up repeatedly:
- Credits the agent cannot reason about. When every lookup draws on a credit balance, an autonomous agent can burn through a month's budget in one bad loop, and you only find out from the invoice.
- Stale or unverified emails. An agent that sends to an address marked "valid" when the server never confirmed it damages the sending domain. Agents need a status they can act on, not a rounded-up guess.
- Per-seat pricing. Seats assume a human at a dashboard. An agent running jobs in the background does not map to a seat.
- Juggling vendors. Search from one provider, verification from another and website research from a third means three keys, three billing models and three error formats to handle in code.
Leadsets is built around the agent as the caller. The remote MCP server and the REST API are the product, and responses are structured JSON the agent can reason over.
How Leadsets fits each job
Eight tools, one key. search_people, search_companies, enrich_person, enrich_company, verify_email, scrape_company, scrape_jobs and get_usage. Every tool works over MCP and REST. Add https://mcp.leadsets.ai to Claude, Claude Code, Cursor, ChatGPT or any MCP client with nothing to install, or call https://api.leadsets.ai/v1 with a bearer key. Setup for each client is in the MCP docs.
Receipts on every record. Search results include match reasons. Enriched fields carry their source, last-checked date and confidence. Every record is re-checked at least monthly, with the most requested and fastest-changing fields checked more often. That lets your agent decide what to trust without a human reviewing each row.
Verification statuses an agent can branch on. Emails go through a waterfall: syntax, DNS and MX, then a mailbox-level check, then a second verifier for uncertain or catch-all results. Labels are verified, catch-all, unknown or invalid. Uncertain results are never rounded up to valid, and invalid emails are never served as contact emails. Emails from enrich_person are already verified, with no second call.
Metering built for code. Records count only when data comes back, so an empty search uses none. Every response includes a usage object, and get_usage returns every meter and reset time for free. Over a limit, the API returns 429 with a Retry-After time and a machine-readable error type, and the blocked call counts against nothing. Paid calls accept an Idempotency-Key so retries never double-count. The full error table is in errors and retries.
Developer plumbing. TypeScript and Python SDKs with typed responses and automatic retries on 429, cursor pagination, async jobs for bulk verification, webhooks for job results, and a request_id on every response for support.
Skills and integrations. 50 free, MIT-licensed SKILL.md playbooks teach an agent GTM workflows such as prospect lists, hiring signals, CRM backfill and pre-send checks. The usage planner and batch job runner skills split big jobs across windows. For pipelines, Leadsets works from n8n HTTP nodes, Make HTTP modules, Clay HTTP API columns and your own code, and skills push lists to HubSpot, Salesforce, Pipedrive, Attio, Instantly, Smartlead and LinkedCamp.
Example: an internal AI SDR at Stackfold
Stackfold's engineering team is building an AI SDR for its own outbound. The ICP is US B2B SaaS companies with 20 to 200 people that are hiring SDRs. A typical run looks like this:
- The agent calls
get_usageto check what is left in the current five-hour window and week. search_companiesfinds accounts that match the size and industry filters. Northwind Analytics (northwind.co) is one of them.scrape_jobsreads each careers page. Northwind lists an SDR role and a RevOps Manager role, so it is kept as an account with a hiring signal. Each page read uses one scrape unit.search_peoplewithfunction: revenueandseniority: vpreturns Maya Chen, VP Revenue Operations, with match reasons such as "Revenue operations leader" and "Company hiring SDRs".enrich_personreturns her current role and a work email with statusverifiedand a confidence score. Catch-all results are routed to a separate, lower-volume segment, and unknowns are held back.- The verified list goes to Stackfold's sequencer through the Instantly skill or a CSV export.
If a step hits a 429, the SDK waits for Retry-After and retries with the same idempotency key. The agent never needs a human to reconcile a credit balance mid-run. This example is illustrative and uses fictional companies.
Which plan usually fits
All prices are flat monthly fees in USD with no credits. Lifetime data is unlimited on paid plans, within the published fair-use limits. Full numbers are on the pricing page and in limits and costs.
- Free: 1,000 enrichment records and 100 search records (10 per call) for life, no card, up to 1,000 data calls in total, no scraping. Scraping is not available. Enough to wire up the integration and test your prompts.
- Solo, $29 a month: 1k enrichments and 500 search records per five hours, 5k enrichments and 2.5k search records per week, 3 concurrent searches. Fits a prototype or a single agent with modest daily runs.
- Pro, $99 a month: 15k enrichments and 7.5k search records per five hours, 75k and 37.5k per week, 5 concurrent searches. Usually the fit for an agent in production that runs every day.
- Team, $399 a month: 150k enrichments and 75k search records per five hours, 750k and 375k per week, 8 concurrent searches. For teams that have outgrown Pro.
- Max, $999 a month: 225k enrichments and 112.5k search records per five hours, 1.125M and 562.5k per week, 8 concurrent searches. For agents running around the clock.
On Team and Max, US personal email results are also capped at 75,000 a week. Scraping is an add-on on any paid plan: $9 for 1,000 units, $19 for 5,000 and $49 for 20,000, where one unit is one standard page.
If you are building a product on Leadsets data
The standard licence covers records used for your own sales, marketing and research. Embedding Leadsets data in a product you sell needs a separate written agreement, and sharing one key across separate companies or customers is not allowed under the fair use policy. If your agent is a product feature for your customers rather than an internal tool, contact Leadsets before you launch. Agents must also stop using any record Leadsets reports as suppressed, and your customers remain responsible for outreach laws such as CAN-SPAM, GDPR and CASL.
What Leadsets does not do yet
- No phone numbers. Leadsets returns work emails, US personal emails on paid plans, roles and company data. If your agent needs to dial, you will need another source for now.
- SOC 2 is planned, not done. SOC 2 Type I readiness is underway with a target of Q3 2027. If your buyers require a SOC 2 report today, Leadsets cannot provide one yet. Current security measures and the DPA are on the compliance page.
- Not a CRM or a sending tool. Leadsets feeds the CRM and sequencer you already run.
- Business data only. No consumer data, sensitive categories or home addresses.
Go deeper