Leadsets for GTM engineers and operators
Leadsets gives GTM engineers one vendor for people and company search, enrichment, verified work emails and company website scraping, through a REST API with TypeScript and Python SDKs and a remote MCP server. Plans are flat monthly prices from $29 with published fair-use limits instead of credits, and every record returns structured JSON with match reasons, verification status and checked dates.
| Job | What you need | How Leadsets does it |
|---|---|---|
| Build prospect lists from an ICP | Filtered people and account search | search_people, search_companies, match reasons on every result |
| Enrich inbound leads and CRM records | Current role, company, work email | enrich_person, enrich_company, source and checked date per field |
| Clean lists before sending | An honest status per address | verify_email: verified, catch-all, unknown or invalid, with confidence |
| Find timing signals | Hiring and website facts | scrape_jobs, scrape_company, 1 unit per page, packs from $9 |
| Run it in your stack | HTTP calls, JSON, safe retries | REST + TS/Python SDKs, n8n, Clay, Make, idempotency keys |
| Budget and pace runs | Predictable cost and visible limits | Flat plans from $29/mo, free get_usage, 429 with Retry-After |
The jobs, and where data gets in the way
GTM engineers and operators build the plumbing behind outbound: list building from an ICP, enrichment of inbound form fills, CRM backfill, pre-send list cleaning and signal-based triggers. The logic usually lives in n8n, Clay, Make or a small codebase, and the data comes from somewhere else.
That is where most of the friction sits:
- Credits. Per-record or per-credit billing turns every retry, test run and empty search into a cost question, and a workflow can stall when a balance runs out.
- Stale or unverified emails. An address with no status or date forces you to add a verification step and a freshness check of your own.
- Seats. Pricing tied to users does not map well to workflows that run unattended.
- Vendor juggling. Search from one provider, enrichment from another, verification from a third and scraping from a fourth means four keys, four response shapes and four bills.
How Leadsets fits each job
Leadsets is a B2B data API and remote MCP server with eight tools, and every tool works over both MCP and REST:
search_peoplefinds people by title, function, seniority, location, company size and industry.search_companiesfinds accounts by industry, headcount band, technology and location. Every result says why it matched.enrich_personreturns current role, company and a verified work email when one exists.enrich_companyreturns firmographics for a domain, with source and freshness on every field.verify_emaillabels each address verified, catch-all, unknown or invalid, with a confidence score. Uncertain results are never rounded up to valid, and emails returned byenrich_personare already verified at no extra charge. Bulk lists run as async jobs on every paid plan.scrape_companyandscrape_jobsturn a homepage or careers page into structured fields, billed in scrape units (one unit per standard page).get_usagereturns every meter and reset time, and costs nothing.
For code, the REST API at https://api.leadsets.ai/v1 takes a bearer key and ships TypeScript and Python SDKs with idempotency keys, cursor pagination and Retry-After headers. Over a limit, you get a 429 with a machine-readable error type, and the blocked call counts against nothing. In low-code tools, call it from an n8n HTTP node, a Clay HTTP API column or a Make HTTP module. For agents, add https://mcp.leadsets.ai to Claude, Cursor, ChatGPT or any MCP client.
Records count only when data comes back, so an empty search uses no records. Requests count every call, and the request limit is five times the record allowance, so normal retries do not hit it. The limits and costs docs list what each call uses.
On top of the tools, 50 free, MIT-licensed skills cover workflows this reader builds often: n8n inbound lead enrichment, Clay table enrichment, HubSpot email backfill, Salesforce title refresh, a pre-send campaign check and a batch job runner that resumes after limits refill. Browse them in the full skills list.
Example: a hiring-signal workflow in n8n
Maya Chen runs revenue operations at Northwind Analytics (northwind.co). She wants a weekly n8n workflow that finds US B2B SaaS companies with 20 to 200 people that are hiring SDRs, then hands verified sales leaders to the team's sequencer.
- A scheduled trigger calls
get_usageto check what is left in the current window. - An HTTP node calls
search_companieswith industry, headcount and country filters. Stackfold and Parcelry are among the accounts that come back, each with match reasons. scrape_jobsreads each company's careers page and returns open roles with titles and dates, at one scrape unit per page read.- For accounts with an SDR or BDR role posted recently,
search_peoplefinds revenue leaders at VP or head level. enrich_personreturns each person's current role and a verified work email when one exists. Catch-all and unknown addresses keep their labels, so the workflow routes them to a separate, lower-volume segment instead of the main send.- The list goes to Instantly or Smartlead through a skill or CSV, and new hiring signals post to a Slack channel.
Every step returns JSON with a usage object, so the workflow can split a large run across windows instead of failing halfway. In an illustrative week where the search returns about 200 people, that is about 200 search records and up to 200 enrichment records, inside the Solo limits below, plus scrape units from an add-on pack.
Which plan usually fits
Paid plans are flat monthly prices in USD with no credits. Search and enrichment each have a rolling five-hour window and a weekly limit, published on the pricing page.
- 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. Use it to wire up and test a workflow.
- Solo, $29 a month: 1,000 enrichments and 500 search records per five hours, 5,000 enrichments and 2,500 search records per week, 3 concurrent searches. Fits one operator running weekly lists or modest inbound enrichment.
- Pro, $99 a month: 15,000 enrichments and 7,500 search records per five hours, 75,000 enrichments and 37,500 search records per week, 5 concurrent searches. Usually the fit for a team running several workflows or CRM backfills.
- Team, $399 a month: 150,000 enrichments and 75,000 search records per five hours, 750,000 and 375,000 per week, 8 concurrent searches.
- Max, $999 a month: 225,000 enrichments and 112,500 search records per five hours, 1.125M and 562,500 per week, 8 concurrent searches, for agents running around the clock.
US personal emails are included on paid plans; on Team and Max they are also capped at 75,000 results 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. Team members join one company account rather than buying separate seats.
What Leadsets does not do yet
- No phone numbers. Leadsets returns work emails, US personal emails on paid plans, roles and company data. If dialling is part of your workflow, a vendor that sells phone data is the better fit for that step.
- No SOC 2 report yet. SOC 2 Type I readiness is underway with a target of Q3 2027. Leadsets runs a GDPR-aligned program and publishes a DPA, described on the compliance page, but if your security review requires SOC 2 today, choose a vendor that already has it.
- Not a CRM or sending tool. It feeds HubSpot, Salesforce, Pipedrive, Attio and sequencers rather than replacing them.
- Business data only. No consumer data, no sensitive categories and no home addresses.
- For your own use. Embedding Leadsets data in a product you sell needs a separate written agreement, and one key cannot be shared across separate companies.
Go deeper