Public REST API · v1

Credential Verification API

Instantly verify holistic health practitioner credentials from the ICONIC Board registry. Free public access — no API key required for up to 100 requests/hour. Built for health systems, booking platforms, insurance companies, and employers.

100/hr
Free — no key needed
2
Public endpoints
<50ms
Typical response time
14
Credential types

Base URL

Base URL
https://iconicboard.health
All responses are JSON. All endpoints support CORS — you can call them from the browser.

Use Cases

The verification API is designed for anyone who needs to confirm a practitioner's credentials before a professional interaction.

🏢

Employer Verification

Confirm a job candidate's ICONIC Board credential before hiring. Instant result, no phone calls.

🏥

Insurance Validation

Insurance platforms can verify practitioner credentials in real time to determine eligibility for reimbursement.

📋

Client Lookup

Clients and patients can confirm their practitioner holds a valid ICONIC Board credential before booking.

📱

Booking Platforms

Wellness booking apps can display live credential status badges directly in practitioner profiles.

🏫

Schools & Educators

Accredited schools can verify graduate credential status and track alumni outcomes over time.

🔗

EHR / Practice Software

Embed credential verification directly into intake flows, referral workflows, and provider directories.

Rate Limits

Public endpoints use IP-based rate limiting. Authenticated endpoints use per-key daily limits.

100 / hr
Public IP limit (no key)
100 / day
Free API key
5,000 / day
Standard key ($49/mo)
Enterprise key ($199/mo)

Rate Limit Headers

Every response from public endpoints includes these headers:

Response Headers
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 94 X-RateLimit-Reset: 1712896800 # Unix timestamp — when window resets

429 Rate Limit Exceeded

JSON — 429 Too Many Requests
{ "error": "RATE_LIMIT_EXCEEDED", "message": "Public API limit is 100 requests/hour per IP.", "retry_after_seconds": 1847, "upgrade": "Register a free API key at https://iconicboard.health/developers" }

Endpoints

GET /api/verify/{credentialId} Look up by credential ID

Returns the status, practitioner name, tier, issue date, and expiry date for a specific credential. No API key needed. Rate limited at 100 requests/hour per IP.

Path Parameter

NameTypeDescription
credentialId required string The credential number, e.g. IBC-12345 or IBC-HHC-0001

Example Request

curl
curl https://iconicboard.health/api/verify/IBC-HHC-0042
JavaScript
const res = await fetch('https://iconicboard.health/api/verify/IBC-HHC-0042'); const data = await res.json(); console.log(data.status, data.practitioner_name);
Python
import requests r = requests.get("https://iconicboard.health/api/verify/IBC-HHC-0042") data = r.json() print(data["status"], data["practitioner_name"])

Example Response — Found (200)

JSON · 200 OK
{ "found": true, "credential_id": "IBC-HHC-0042", "status": "active", "valid": true, "practitioner_name": "Dr. Jane Smith", "tier": "IBC-HHC", "tier_name": "Holistic Health Coach", "state": "AZ", "country": "US", "issue_date": "2024-03-15", "expiry_date": "2026-03-15", "verified_at": "2026-04-11T05:00:00.000Z", "source": "ICONIC Board of Holistic Health", "source_url": "https://iconicboard.health" }

Example Response — Not Found (404)

JSON · 404 Not Found
{ "found": false, "credential_id": "IBC-XXXX-9999", "message": "Credential not found in ICONIC Board registry.", "verified_at": "2026-04-11T05:00:00.000Z" }

Response Fields

FieldTypeDescription
foundbooleanWhether a credential was found
credential_idstringThe canonical credential number
statusstringactive | expired | suspended | revoked
validbooleanShorthand — true only when status is "active"
practitioner_namestringPractitioner's public display name
tierstringCredential type code (e.g. IBC-HHC)
tier_namestringHuman-readable credential name
statestring|nullUS state abbreviation, if provided
issue_datestringISO 8601 date when credential was issued
expiry_datestring|nullISO 8601 date when credential expires (null = lifetime)
verified_atstringISO 8601 timestamp of this verification
GET /api/directory/search Search by practitioner name

Search the public ICONIC Board practitioner directory by name. Optionally filter by state and credential status. Returns up to 50 matching records, ordered by active credentials first.

Query Parameters

NameTypeDescription
q required string Name to search (min 2 chars). Partial match supported.
state optional string Filter by US state abbreviation, e.g. AZ
status optional string Filter by status: active | expired | revoked
limit optional integer Max results (1–50, default 20)

Example Request

curl
curl "https://iconicboard.health/api/directory/search?q=Jane+Smith&state=AZ&status=active"
JavaScript
const params = new URLSearchParams({ q: 'Jane Smith', state: 'AZ', status: 'active', }); const res = await fetch( `https://iconicboard.health/api/directory/search?${params}` ); const data = await res.json(); data.results.forEach(p => console.log(p.practitioner_name, p.status));
Python
import requests r = requests.get("https://iconicboard.health/api/directory/search", params={ "q": "Jane Smith", "state": "AZ", "status": "active", }) for p in r.json()["results"]: print(p["practitioner_name"], p["status"])

Example Response (200)

JSON · 200 OK
{ "found": true, "count": 2, "query": { "q": "Jane Smith", "state": "AZ", "status": "active" }, "results": [ { "practitioner_name": "Jane A. Smith", "credential_id": "IBC-HHC-0042", "status": "active", "valid": true, "tier": "IBC-HHC", "tier_name": "Holistic Health Coach", "state": "AZ", "country": "US", "issue_date": "2024-03-15", "expiry_date": "2026-03-15" } ], "verified_at": "2026-04-11T05:00:00.000Z", "source": "ICONIC Board of Holistic Health" }
GET /api/v1/verify Query-param lookup (API key)

Advanced endpoint supporting both credential-number and name+state lookups. Requires an API key for higher daily limits and additional fields.

curl — by credential number
curl https://iconicboard.health/api/v1/verify?credential_number=IBC-HHC-0042 \ -H "X-API-Key: ib_live_your_key_here"
curl — by name + state
curl "https://iconicboard.health/api/v1/verify?name=Jane+Smith&state=AZ" \ -H "X-API-Key: ib_live_your_key_here"
POST /api/v1/verify/batch Batch lookup (API key required)

Verify up to 100 credential numbers in a single request. Requires Standard or Enterprise key.

curl
curl -X POST https://iconicboard.health/api/v1/verify/batch \ -H "X-API-Key: ib_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{"credentials": ["IBC-HHC-0042", "IBC-HHA-0019", "IBC-HHP-0007"]}'

Error Codes

HTTP StatusError CodeMeaning
200Success
400MISSING_CREDENTIAL_ID / QUERY_TOO_SHORTMissing or invalid input parameter
401INVALID_API_KEYProvided API key is invalid or revoked
404NOT_FOUNDNo credential found matching the query
429RATE_LIMIT_EXCEEDEDRate limit reached — see retry_after_seconds
500SERVER_ERRORUnexpected server error — please retry

Need Higher Limits?

The public API allows 100 requests/hour per IP address. For production integrations that need more, register for a free API key (100 req/day) or subscribe to a paid plan.

PlanDaily LimitBatchPrice
Free100/dayFree
Standard5,000/dayUp to 100$49/mo
EnterpriseUnlimitedUp to 100$199/mo

Register for an API Key

Free keys are approved instantly and never expire. Standard/Enterprise plans are billed monthly.

Request API Access

Free tier activated immediately. No credit card for the free plan.

API Terms of Service

Use of the ICONIC Board Verification API is subject to the API Terms of Service. Key points:

  • Data returned is for verification purposes only — not for resale, aggregation, or building competitive directories.
  • Do not store credential records beyond the immediate verification context.
  • Rate limits must be respected. Attempts to circumvent limits will result in key revocation.
  • ICONIC Board may revoke API access for violations at its sole discretion.
  • For full terms, see the API Terms of Service.
Credential data is sourced directly from the ICONIC Board registry and reflects the current status at the time of the request. Always cite ICONIC Board as the source when displaying verification results to end users.

Support

Having trouble? Reach out: