Every call is a POST with a JSON body to https://leads.be-human.ai/api/v1/<tool> and the header Authorization: Bearer bhl_.... Create keys at your account.
| Tool | Input | Uses records |
|---|---|---|
search_businesses | state, city, niche, website (any, none, bad, needs_help, ok), has_email, has_phone, min_rating, limit (1 to 100), offset | 1 per record returned |
lookup_business | phone, or domain, or name with city and state | 1 per record returned |
get_coverage | none | free |
get_account | none | free |
Found: {"status":"ok","results":[...],"metadata":{...}}. Nothing matched: "status":"not_found", and nothing is used. Errors return 4xx with {"error":{"code","message"}}: unauthorized 401, upgrade_required 402, invalid_input 422, fair_use_limit_exceeded 429 with retry_after seconds, tool_not_found 404.
curl "https://leads.be-human.ai/api/v1/export.csv?state=TX&city=Dallas&niche=plumber&website=needs_help&limit=100" \ -H "Authorization: Bearer bhl_..." -o dallas-plumbers.csv
Server URL https://leads.be-human.ai/mcp (streamable HTTP). In Claude Code:
claude mcp add --transport http be-human-leads https://leads.be-human.ai/mcp \ --header "Authorization: Bearer bhl_..."
Any MCP client that can send a header works the same way. Then ask in plain English, for example "find 20 plumbers in Houston TX without a website and give me a CSV".
Free: 50 records in total. Pro: 1,000 records in any rolling 24 hours and 10,000 in any 30 days. Up to 5 active keys per account.