smbcrawlAPI docs
SMB enrichment API. Query any local business and get structured data back.
Getting Started
1. Create an account and get an API key
curl -X POST https://smbcrawl.dev/api/v1/keys \ -H "Authorization: Bearer <clerk_token>"
2. Make your first enrichment request
curl "https://smbcrawl.dev/api/v1/enrich/basic?business_name=Mikes+Auto+Repair&city=Sidney&state=OH" \ -H "X-API-KEY: sk_smbcrawl_..."
3. Poll for results (if async)
curl "https://smbcrawl.dev/api/v1/enrich/status/<request_id>"
Authentication
smbcrawl supports two authentication methods:
API Key
Pass your API key in the X-API-KEY header. Free tier includes 50 credits.
x402 (USDC)
Pay per request with USDC on Base. No account needed. Pass payment in the X-PAYMENT header.
Endpoints
Try a real example
Browse the verified demo gallery — curated, real business records with per-field provenance and per-platform match quality. Sign in to view; free, no paid plan required.
| Endpoint | Credits | x402 | Description |
|---|---|---|---|
| GET /api/v1/enrich/basic | 1 | $0.75 | NAP, website, category, hours, social, reviews |
| GET /api/v1/enrich/presence | 5 | $3.50 | Basic + directory audit, NAP consistency, presence score |
| GET /api/v1/enrich/deep | 15 | $12.00 | Presence + tech stack, competitors, content analysis |
| GET /api/v1/enrich/status/:id | Free | Free | Poll for async job results |
| GET /api/v1/health | Free | Free | Health check |
| GET /api/v1/schema | Free | Free | OpenAPI 3.1 specification |
Query Parameters
| Parameter | Required | Description |
|---|---|---|
| business_name | Yes | Business name to search for |
| city | * | City (required unless lat/lng provided) |
| state | * | Two-letter state code (required unless lat/lng) |
| phone | No | Phone number (improves match accuracy) |
| website | No | Website URL (improves match accuracy) |
| lat, lng | * | Coordinates (alternative to city/state) |
Agent Signup
AI agents can request an smbcrawl account programmatically. Because agents cannot accept legal terms on behalf of humans, the signup flow requires an operator — the responsible human who will review and sign the Terms of Service before the account activates.
1. Agent initiates signup
curl -X POST https://smbcrawl.dev/api/v1/auth/agent/signup \
-H "Content-Type: application/json" \
-d '{
"agent_email": "my-agent@example.com",
"operator_email": "human@company.com",
"agent_name": "My Sales Agent"
}'Returns signup_id and status pending_operator_approval. The operator receives an email with a Terms of Service review link.
2. Poll for activation
curl https://smbcrawl.dev/api/v1/auth/agent/signup/<signup_id>/status
Returns pending, activated (includes API key), or expired (72-hour window). Poll until activated, then use the returned API key in the X-API-KEY header.
How it works
- Agent submits
agent_email+operator_email - Operator receives a review email with the full Terms of Service
- Operator accepts terms and signs — account activates immediately
- Agent polls the status endpoint and receives the API key
- Both agent and operator receive confirmation emails