Developer API
Programmatic access to AI-powered company search, enrichment, people lookup, deal scoring, and webhooks. Build powerful integrations on top of LeadScoutr.
Be first in line for API access. No spam, ever.
Authentication & Basics
Simple API key authentication over HTTPS. Consistent JSON responses across all endpoints.
API Key Authentication
Bearer token in Authorization header. Generate keys in your dashboard settings.
HTTPS Only
All API requests require HTTPS. HTTP requests are rejected.
Rate Limiting
Per-minute rate limits based on your plan. Headers include remaining quota.
JSON Responses
All endpoints return JSON. Errors include code, message, and details.
# All requests require an API key in the Authorization header
curl -X GET https://api.leadscoutr.com/v1/me \
-H "Authorization: Bearer ls_api_your_key_here"
# Response includes your account info and credit balance
{
"user": { "email": "[email protected]" },
"credits": {
"scout": { "used": 120, "limit": 7500 },
"enrich": { "used": 15, "limit": 200 },
"people": { "used": 8, "limit": 75 }
}
}API Endpoints
Five core endpoints covering search, enrichment, people, scoring, and webhooks.
/v1/searchAI Company Search
Run natural language company searches. Describe your ideal customer and get structured results with firmographic data.
{
"query": "SaaS companies in Germany with 50-200 employees",
"limit": 20,
"include_enrichment": true
}{
"companies": [
{
"name": "Acme Software GmbH",
"domain": "acme-software.de",
"industry": "Software",
"employee_count": 85,
"city": "Berlin",
"country": "Germany",
"score": 82
}
],
"total": 47,
"credits_used": 20
}/v1/enrich/companyCompany Enrichment
Enrich a company domain with firmographic data including employee count, revenue estimates, tech stack, and industry classification.
{
"domain": "acme-software.de"
}{
"name": "Acme Software GmbH",
"domain": "acme-software.de",
"industry": "Software",
"employee_count": 85,
"estimated_revenue": "$5M-$10M",
"tech_stack": ["React", "AWS", "PostgreSQL"],
"founded_year": 2018,
"location": {
"city": "Berlin",
"country": "Germany"
}
}/v1/people/searchPeople Lookup
Find decision-makers at any company by domain and job title. Get names, titles, LinkedIn profiles, and verified email addresses.
{
"domain": "acme-software.de",
"job_title": "Head of Sales",
"limit": 5
}{
"people": [
{
"name": "Anna Mueller",
"title": "Head of Sales",
"email": "[email protected]",
"linkedin_url": "linkedin.com/in/annamueller",
"confidence": "high"
}
],
"total": 2,
"credits_used": 1
}/v1/scoreDeal Scoring
Score a company across 6 AI-powered dimensions: ICP fit, revenue potential, tech stack, need signals, engagement, and buying readiness.
{
"domain": "acme-software.de",
"icp": "B2B SaaS companies needing sales tools"
}{
"score": 82,
"dimensions": {
"icp_fit": 90,
"revenue_potential": 75,
"tech_stack": 85,
"need_signals": 80,
"engagement": 70,
"buying_readiness": 88
},
"summary": "Strong ICP fit with active buying signals.",
"credits_used": 1
}/v1/webhooksWebhook Subscriptions
Subscribe to real-time events for new leads, score changes, enrichment completions, and pipeline updates.
{
"url": "https://your-app.com/webhooks/leadscoutr",
"events": ["lead.created", "lead.scored", "enrichment.completed"],
"secret": "whsec_..."
}{
"id": "wh_abc123",
"url": "https://your-app.com/webhooks/leadscoutr",
"events": ["lead.created", "lead.scored", "enrichment.completed"],
"status": "active",
"created_at": "2026-03-01T12:00:00Z"
}Code Examples
Get started quickly with examples in JavaScript, Python, and cURL.
import LeadScoutr from '@leadscoutr/sdk';
const client = new LeadScoutr({ apiKey: 'ls_api_...' });
// Search for companies
const { companies } = await client.search({
query: 'logistics companies in Rotterdam with 50+ employees',
limit: 20,
});
// Enrich and score each result
for (const company of companies) {
const enriched = await client.enrich.company(company.domain);
const score = await client.score({
domain: company.domain,
icp: 'logistics companies needing fleet management',
});
console.log(`${enriched.name}: ${score.score}/100`);
}from leadscoutr import LeadScoutr
client = LeadScoutr(api_key="ls_api_...")
# Search for companies
result = client.search(
query="logistics companies in Rotterdam with 50+ employees",
limit=20
)
# Enrich and score each result
for company in result["companies"]:
enriched = client.enrich.company(company["domain"])
score = client.score(
domain=company["domain"],
icp="logistics companies needing fleet management"
)
print(f"{enriched['name']}: {score['score']}/100")# Search for companies
curl -X POST https://api.leadscoutr.com/v1/search \
-H "Authorization: Bearer ls_api_..." \
-H "Content-Type: application/json" \
-d '{
"query": "logistics companies in Rotterdam",
"limit": 20
}'
# Enrich a company
curl -X POST https://api.leadscoutr.com/v1/enrich/company \
-H "Authorization: Bearer ls_api_..." \
-H "Content-Type: application/json" \
-d '{"domain": "acme-logistics.nl"}'
# Score a company
curl -X POST https://api.leadscoutr.com/v1/score \
-H "Authorization: Bearer ls_api_..." \
-H "Content-Type: application/json" \
-d '{
"domain": "acme-logistics.nl",
"icp": "logistics companies needing fleet management"
}'Rate Limits
Generous rate limits that scale with your plan. Response headers include remaining quota.
| Plan | Search /min | Enrich /min | People /min | Score /min |
|---|---|---|---|---|
| Founders | 30 | 60 | 30 | 60 |
| Normal | 40 | 80 | 40 | 80 |
| Enterprise | 100 | 200 | 100 | 200 |
X-RateLimit-LimitTotal requests allowed per minute
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets
Error Handling
Consistent error responses with actionable error codes across all endpoints.
// HTTP 429 — Rate limit exceeded
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please retry after 32 seconds.",
"retry_after": 32
}
}
// HTTP 402 — Credit limit reached
{
"error": {
"code": "CREDIT_LIMIT_REACHED",
"message": "Monthly credit limit reached for 'enrich'.",
"credit_info": {
"type": "enrich",
"used": 200,
"limit": 200,
"resets_at": "2026-04-09T00:00:00Z"
}
}
}
// HTTP 401 — Invalid API key
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key."
}
}Success
Bad Request
Unauthorized
Credits Exhausted
Not Found
Validation Error
Rate Limited
Server Error
Ready to Build?
The LeadScoutr API is coming soon. Join the waitlist to get early access, documentation, and SDK packages before anyone else.