API ACCESS

The whole graph,
accessible by code.

Every contact, signal, mention, and enrichment endpoint is available via REST. Build internal tools, automate outbound workflows, or embed lead intelligence directly into your product.

example.js
const bunlead = require('@bunlead/node');

const client = new bunlead.Client({ apiKey: process.env.BUNLEAD_KEY });

// Search contacts with ICP filters
const contacts = await client.contacts.search({
    title: ['VP Sales', 'Head of Revenue'],
    companySize: { min: 50, max: 500 },
    fundingStage: ['series-b', 'series-c'],
    technologies: ['salesforce'],
    limit: 100,
});

console.log(contacts.data[0]);
// { name: 'Alex Kim', email: 'alex@...' (verified), phone: '+1...' }
ENDPOINTS
GET/v1/contacts/search
Search 700M contacts with any filter combination. Returns ranked, verified records.
POST/v1/contacts/enrich
linkedinPass an email, phone, or LinkedIn URL — get a full verified contact record back.
GET/v1/signals/stream
Stream real-time signal events for companies in your watchlist.
GET/v1/companies/lookup
Retrieve company profile, tech stack, headcount history, and funding data.
POST/v1/mentions/subscribe
Create a keyword subscription and receive webhooks on every new mention.
GET/v1/export/csv
Bulk-export any saved search as a paginated, enriched CSV stream.
SDKS
Official libraries for every major language.
Node.jsPythonGoRubyPHPcURL
RATE LIMITS & DOCS
Generous defaults. Predictable pricing.

All plans include 10K API calls/month. Growth plans scale to 1M+. Full OpenAPI spec, Postman collection, and interactive docs included with every account.

USE CASES

Three ways teams build on Bunlead.

01
Internal tooling

Build a custom lead sourcing interface for your ops team. Query the Bunlead contact and signal graph directly from your internal dashboard without touching the web app.

02
Product embedding

Embed B2B intelligence directly in your product. Let your users look up companies, enrich their own contact lists, or trigger outbound workflows from inside your SaaS.

03
Outbound automation

Trigger enrichment and signal streaming automatically when new accounts enter your pipeline. Build fully automated signal-to-sequence workflows without manual steps.

RATE LIMITS & PLANS

Generous defaults.
Scale when you need to.

Starter
10K calls / mo
Burst limit: 60 req/min
Full OpenAPI spec, Postman collection, and interactive docs included on all plans.
Team
200K calls / mo
Burst limit: 300 req/min
Full OpenAPI spec, Postman collection, and interactive docs included on all plans.
Scale
1M+ calls / mo
Burst limit: Custom SLA
Full OpenAPI spec, Postman collection, and interactive docs included on all plans.
FAQ

Common questions, answered.

How do I authenticate with the API?

All API requests authenticate using a Bearer token passed in the Authorization header. You can generate and rotate API keys from your workspace settings. Key-level permission scopes let you issue read-only keys for external tools.

Is there a sandbox environment for testing?

Yes. Every account includes a sandbox environment with a separate API key and a sample dataset of 1,000 synthetic contacts. Sandbox calls do not count against your monthly limit.

What happens if I exceed my rate limit?

Requests above your burst limit receive a 429 response with a Retry-After header. Monthly call limits reset on your billing date. Overage is available at a per-call rate rather than blocking your integration.

Is the API versioned? How do breaking changes work?

Yes. The current version is v1. Breaking changes will always ship on a new version path (v2, v3). Old versions receive 12 months of support after a new version ships, with migration guides published at release.

Stop chasing.
Start sourcing.

14-day free trial. No credit card. Set it up in under five minutes.