Quickstart
Get your free API key (50 credits/month, no credit card required), then make your first request:
1. Get your API key
Sign up and your key is emailed immediately — no approval process, no sales call.
Get API keys free →2. Make your first request
curl "https://api.forge.jonlynchfinancial.com/v1/producers/lookup?npn=22048330" \ -H "Authorization: Bearer forge_live_your_key_here"
3. Get the response
{
"result": {
"found": true,
"npn": "22048330",
"first_name": "Jonathan",
"last_name": "Lynch",
"email": "[email protected]",
"licensed_states": ["FL", "TX", "GA"],
"license_lines": ["Life", "Health", "Annuities"],
"license_status": "active",
"nearest_expiry": "2027-03-15",
"appointments": ["Equitable", "North American"],
"eo_carrier": "Philadelphia Indemnity",
"eo_expiry": "2026-12-31",
"ce_credits_completed": 18,
"ce_credits_required": 24,
"cache_hit": false
},
"credits_used": 1,
"credits_remaining": 49
}
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer forge_live_a1b2c3d4e5f6...
forge_live_. Never expose your API key in client-side code.Endpoints
Look up a single insurance producer by NPN, email address, or name + state. Returns full license, appointment, E&O, and CE data.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| npn | string | optional* | National Producer Number. Most precise — returns exact match. |
| string | optional* | Producer's work email address. | |
| first_name | string | optional* | Required with last_name + state for name lookup. |
| last_name | string | optional* | Required with first_name + state for name lookup. |
| state | string | optional* | 2-letter state code. Required for name lookups. |
* Provide npn, email, OR (first_name + last_name + state).
curl "https://api.forge.jonlynchfinancial.com/v1/producers/lookup?npn=22048330" \ -H "Authorization: Bearer forge_live_your_key" # Name + state lookup curl "https://api.forge.jonlynchfinancial.com/v1/producers/lookup?first_name=Jon&last_name=Lynch&state=FL" \ -H "Authorization: Bearer forge_live_your_key"
Look up up to 100 producers in a single request. Each record can use npn, email, or name+state lookup. Credits are deducted per found record.
Request Body
{
"records": [
{ "npn": "22048330" },
{ "email": "[email protected]" },
{ "first_name": "Jane", "last_name": "Smith", "state": "TX" }
]
}
Response Schema
Every producer result contains these fields. Apollo and Clay have none of the insurance-specific fields below.
Standard Contact Fields
| Field | Type | Description |
|---|---|---|
| npn | string | National Producer Number |
| first_name | string | First name |
| last_name | string | Last name |
| string | null | Email address if available | |
| phone | string | null | Phone number if available |
Insurance-Specific Fields (unique to Forge)
| Field | Type | Description |
|---|---|---|
| licensed_states | string[] | All active licensed states, e.g. ["FL","TX","GA"] |
| license_lines | string[] | License lines: ["Life","Health","Annuities"] |
| license_status | string | "active" | "inactive" | "expired" |
| nearest_expiry | string | null | ISO date of nearest upcoming license expiry |
| appointments | string[] | Active carrier appointments by name |
| eo_carrier | string | null | E&O insurance carrier name |
| eo_expiry | string | null | ISO date of E&O expiry |
| ce_credits_completed | integer | CE credits completed this cycle |
| ce_credits_required | integer | CE credits required this cycle |
Error Codes
| Status | Code | Meaning |
|---|---|---|
| 401 | unauthorized | Missing or invalid API key |
| 402 | payment_required | Insufficient credits — upgrade your plan |
| 422 | validation_error | Missing required parameters |
| 500 | server_error | Retry — transient error |
Pricing & Credits
Each successful lookup deducts 1 credit. Records enriched within the last 7 days are served from cache at 0 credits.