API Platform
Developer Quickstart
Search local businesses, unlock owner contact data, and turn enriched leads into AI SDR campaigns from the Fullpilot API.
JavaScript
Quickstart
const response = await fetch("https://api.fullpilot.com/v1/local-businesses/search", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.FULLPILOT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
query: "med spas",
location: "Texas",
filters: {
rating_min: 4.5,
website_status: "active",
limit: 100
}
})
});
const market = await response.json();
console.log(market.data);Local Business Search
Find businesses by category, geography, reviews, rating, website status, and local market signals.
Start building →
Contact Enrichment
Unlock owner, operator, email, phone, address, category, rating, and profile data.
Start building →
AI SDR Execution
Launch outbound campaigns, automate follow-ups, handle replies, and route interested prospects.
Start building →
Authentication
Create and export an API key
Fullpilot API requests use bearer token authentication. Keep your key server-side and export it as an environment variable before making requests.
Credit behavior
One credit unlocks one local business record with available email and phone data.
export FULLPILOT_API_KEY="fp_live_..."Search
Find local businesses
Search across local businesses by category, location, review count, Google rating, website status, and market fit. Use search first to build the exact audience you want to enrich.
/v1/local-businesses/searchSearch local businesses
Build a market list from category, location, review, rating, website, and fit filters.
const response = await fetch("https://api.fullpilot.com/v1/local-businesses/search", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.FULLPILOT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
query: "med spas",
location: "Texas",
filters: {
rating_min: 4.5,
website_status: "active",
limit: 100
}
})
});
const market = await response.json();
console.log(market.data);Enrichment
Unlock owner contact data
Enrichment turns selected businesses into usable local business leads with owner, operator, email, phone, address, category, and profile details.
const response = await fetch("https://api.fullpilot.com/v1/local-businesses/enrich", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.FULLPILOT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
business_ids: [
"biz_9qH2a1",
"biz_V81kLs"
],
include: ["email", "phone", "owner", "location"]
})
});
const enriched = await response.json();
console.log(enriched.data);AI SDR
Launch outreach from enriched leads
Create an AI SDR campaign from an enriched audience. Fullpilot writes outreach, sends follow-ups, handles replies, and routes interested local business owners toward a meeting.
No manual setup
Campaign execution runs through Fullpilot, so teams do not need to connect separate inbox tooling before testing a local market.
const response = await fetch("https://api.fullpilot.com/v1/campaigns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.FULLPILOT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
name: "Texas med spas",
audience_id: "aud_24QmV7",
goal: "Book meetings with local business owners",
handoff_url: "https://cal.com/acme/demo"
})
});
const campaign = await response.json();
console.log(campaign.id);Webhooks
Subscribe to lead and campaign events
lead.enrichedcampaign.reply_receivedcampaign.interestedhandoff.createdmeeting.bookedErrors
Use predictable responses
400Invalid request body or unsupported filter.
401Missing or invalid API key.
402Not enough credits for enrichment.
429Rate limit exceeded.
500Unexpected server error.