15 professions · One API · All 50 states

Professional verification
in one API call

Verify licenses, registrations, and credentials for lawyers, doctors, nurses, contractors, and 11 more professions. Powered by real-time searches against official licensing databases.

Terminal
$ curl -H "Authorization: Bearer rk_..." \
  "https://api.verified.fast/v1/verify?type=doctor&name=Sarah+Johnson&state=IL"

# Returns 200 (cached) or 202 (async → poll for result)

Authoritative sources we verify against

State Bar Directories|NPI Registry|FINRA BrokerCheck|FAA Airman Registry|Secretary of State|50+ Licensing Boards

How it works

One API. Fifteen professions. Cached results return in milliseconds.

STEP 01

Send a request

Pass the professional's name, state, and type. Cached results return instantly. New verifications return a job ID to poll.

STEP 02

We verify async

We search official registries, licensing boards, and government databases in the background. Poll the status endpoint for updates.

STEP 03

Get structured JSON

Receive verified license status, credential data, disciplinary history, and source citations. Results cached for 90 days.

Unified response format

Every profession returns the same JSON schema. Parse once, use everywhere.

Response Fields (all professions)
verified
boolean

Whether the professional was confirmed to exist

match_confidence
float

0.0 to 1.0 confidence score

full_name
string

Verified full legal name

profession
string

Profession type (doctor, nurse, etc.)

license_number
string

License or registration number

license_status
string

Active, Inactive, Suspended, Expired, etc.

issuing_authority
string

Board or agency that issued the license

disciplinary_actions
array

Any disciplinary actions on record

organization
string

Employer, firm, or practice name

city
string

Practice city

state
string

Practice state

sources
array

URLs of authoritative sources consulted

Sample Response (physician)200 OK
{
  "source": "cache",
  "type": "doctor",
  "data": {
    "verified": true,
    "match_confidence": 0.94,
    "full_name": "Dr. Sarah Johnson",
    "profession": "doctor",
    "license_number": "MD-2019-43521",
    "license_status": "Active",
    "issuing_authority": "Illinois Medical Board",
    "disciplinary_actions": [],
    "organization": "Northwestern Memorial Hospital",
    "city": "Chicago",
    "state": "IL",
    "sources": [
      "https://npiregistry.cms.hhs.gov",
      "https://www.idfpr.com"
    ]
  }
}

15

Profession types

<20ms

Cached response

50

States covered

90 days

Cache duration

API Reference

Simple REST API. One endpoint. All professions.

GET/v1/verify

Key Parameters

ParamRequiredDescription
typeNoProfession type (default: lawyer). See all 15 types.
nameYesFull professional name
stateVaries2-letter state code. Required for most types.
license_numberNoKnown license/registration number
npiNoNPI number (physicians only)
forceNoSet to 1 to bypass cache

Examples

# Step 1: Start verification
curl -H "Authorization: Bearer rk_..." \
  "https://api.verified.fast/v1/verify?type=doctor&name=Sarah+Johnson&state=IL"

# → 200 (cached) or 202 {"job_id": "cm4x7abc...", "poll_url": "..."}
# Step 2: Poll for result (if 202)
curl -H "Authorization: Bearer rk_..." \
  "https://api.verified.fast/v1/verify/status/cm4x7abc..."

# → {"status": "complete", "data": {"verified": true, ...}}
New Feature

ID Verification via Hosted Link

Verify anyone's identity with a single API call. Create a secure link, send it to your user, and get face-match results with extracted ID data back via API or webhook.

STEP 01

Create session

POST to the API with your key. Get back a unique verification URL.

STEP 02

Send the link

Email, SMS, or embed the URL. The person visits a secure, mobile-friendly page.

STEP 03

They verify

Upload a government ID photo and take a selfie. gpt-5.6-luna vision analysis does the rest.

STEP 04

Get results

Retrieve face match, confidence score, and extracted ID data via API or webhook.

What the API returns

Face Match

Boolean result with confidence score (0-1)

ID Type Detection

Driver's license, passport, state ID, military ID

OCR Extraction

Full name, DOB, address, ID number, expiry date

Fraud Detection

Flags for altered documents, photos of screens, etc.

Webhook Callback

Optional POST to your URL when verification completes

Cost:3 creditsper completed verification
Quick Integration
# 1. Create a verification session
curl -X POST \
  -H "Authorization: Bearer vf_your_key" \
  -H "Content-Type: application/json" \
  -d '{"reference_id": "user-123"}' \
  https://verified.fast/api/verified/id-verify

# Response:
# {
#   "session_id": "a1b2c3d4-...",
#   "verify_url": "https://verified.fast/verify/a1b2c3d4-...",
#   "expires_at": "2026-03-05T12:00:00Z",
#   "status": "pending"
# }

# 2. Send verify_url to your user (email, SMS, etc.)
# 3. They upload ID + selfie on the hosted page

# 4. Retrieve the result
curl -H "Authorization: Bearer vf_your_key" \
  https://verified.fast/api/verified/id-verify/a1b2c3d4-...

# Response:
# {
#   "status": "completed",
#   "face_match": true,
#   "face_confidence": 0.95,
#   "id_type": "drivers_license",
#   "id_data": {
#     "full_name": "John Smith",
#     "date_of_birth": "1985-03-15",
#     "address": "123 Main St, Springfield, IL",
#     "id_number": "S123-4567-8901",
#     "expiry_date": "2028-06-01",
#     "issuing_state": "IL"
#   }
# }

Privacy by design

Images are processed in memory and never stored. Only cryptographic hashes are retained for audit. Sessions expire automatically. The verification URL acts as a single-use secure token.

New Feature

SMS Phone Verification

Verify phone numbers with a simple send-and-confirm flow. Send a 6-digit code via SMS, your user enters it, and you verify through the API.

STEP 01

Send code

POST the phone number to our API. We send a 6-digit OTP via SMS from (888) 374-3977.

STEP 02

User enters code

Your user receives the SMS and enters the 6-digit code in your app. 5 attempts, 10-minute expiry.

STEP 03

Confirm via API

POST the code to verify. Get a confirmed result with timestamp. 10 credits deducted on success.

Security built in

SHA-256 hashed codes

OTPs are never stored in plaintext

Rate limiting

Max 10 SMS per phone per hour

Attempt limits

5 tries per session, then auto-fail

Configurable expiry

1 to 30 minutes, default 10

Resend support

Up to 3 resends per session

Cost:10 creditsper verified phone
Quick Integration
# 1. Send verification code
curl -X POST \
  -H "Authorization: Bearer rk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"phone": "(555) 123-4567"}' \
  https://api.verified.fast/v1/sms/send

# → {"session_id": "a1b2c3d4-...", "status": "pending"}

# 2. User receives SMS with 6-digit code
# 3. Verify the code they entered

curl -X POST \
  -H "Authorization: Bearer rk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"code": "482916"}' \
  https://api.verified.fast/v1/sms/verify/a1b2c3d4-...

# → {"verified": true, "phone": "+1***4567"}

Simple, credit-based pricing

Buy credits, use them across all API endpoints. No subscriptions, no monthly limits. Credits never expire.

Verify / Lookup

1

credit per call

ID Verification

3

credits per session

SMS Verification

10

credits per verification

$0.33 per credit

Buy Credits

$100 minimum purchase · All 15 profession types · Credits never expire

  • All 15 profession types
  • 90-day result caching
  • Async polling with job tracking
  • Full license data + disciplinary history
  • ID verification (3 credits)
  • SMS phone verification (10 credits)
  • Batch processing API
  • Email support

Frequently asked questions

Start verifying professionals today

Starting at $100 for 303 credits. One API key for all 15 professions. Credits never expire.

Buy Credits