Verification APIs
Every verification follows the same journey: from an initial input—a company name, an identifier, or a scanned certificate, to trusted certificate data. Each endpoint is designed for a specific stage of that journey, so the one you call depends on the information you already have.
Recommended workflow
When you're matching by name, we recommend working through these three steps in order, discover, review, then retrieve. It keeps you in control of which entity you're paying to verify.

Search by name to find candidate entities and their IAF CE IDs. No certificates yet, and no credits spent.
POST /match-companies
No credit consumption

Look over the candidates and confirm the right entity is the one you meant. Note its IAF CE ID for the next step.
Your check, no call

Pull the full certificate data for the entity you confirmed. This is the step that consumes a credit.
SINGLE verification: POST /company/{ce_id}
BULK verification: POST /bulk-company-by-id
⚡ In a hurry? If you'd rather get certificate data immediately, skip discover and review and call the following endpoints directly:
POST/companySingle verification. It matches and returns the certificates in one call.
POST/bulk-companiesBulk verification. It matches and returns certificates in bulk, but only for the exact matches. Loose matches return company information only, with no certificates. To get the certificate data for a loose match, review it first, then call a retrieval endpoint, either single (
GET /company/{ce_id}) or bulk (POST /bulk-company-by-id).
The trade-off is that you're trusting the automatic match instead of reviewing the candidates yourself, so loose matches come back for you to check rather than being confirmed up front.
Key terms
A few terms show up throughout this page. Here's what each one means before you dive in.
Certified Entity (CE)
A company or organisation that holds one or more certifications in IAF CertSearch. It's the thing you're verifying.
IAF CE ID ce_id
The unique ID of a Certified Entity. Matching returns it, and you reuse it for direct lookups later. Some match responses label this simply "IAF ID", it's the same value.
Certificate ID cert_id
The unique ID of a single certificate held by an entity. Use it when you want one specific certificate rather than a whole company.
Credit
The billing unit. One credit is consumed each time you successfully retrieve certificate data for a confirmed match. Discovery, loose matches, and unmatched results are free.
Match rate match_rate
How strict name matching is, from 80 (loose) to 100 (exact), in steps of 5. Default is 90. A higher rate returns fewer but more confident matches.
Exact match exactly_matched
A match that cleared the strict threshold, confident enough to trust automatically. This is the result that consumes a credit, and the only kind that bulk retrieval returns.
Loose match loosely_matched
A likely but not certain match. Single /company returns it so you can review it yourself, at no cost.
Quick pick by what you have
Not sure where you are in the arc? Match your input on the left to the endpoint on the right.
A company name only
Retrieve Company & Certificates (POST /company). It matches and returns certificates in one call, no separate match step needed.
A name, but only the IAF CE ID (no certificates)
Match Companies (POST /match-companies). Free discovery and disambiguation.
Many company names to verify
Bulk Retrieve (POST /bulk-companies). Returns only exact matches, up to 100 per request.
An IAF CE ID you saved earlier
Retrieve by IAF ID (GET /company/{ce_id}), or POST /bulk-company-by-id for high volume.
A certificate ID
Retrieve Certificate by IAF ID (GET /certificate/{cert_id}).
Full endpoint reference
The complete detail for each endpoint, including credit consumption rules.
POST Match Companies
/match-companies
Use first when you need to find candidate companies and do not yet have a ce_id. Best for search, review, and discovery flows.
❌ No credits consumed. No certificates returned.
POST Retrieve Company & Certificates
/company
Use when you need to verify one company and retrieve its certificates in one call. The main retrieval endpoint for single-company verification.
✅ One credit only for exactly_matched results. loosely_matched results return for review with no credit consumed.
POST Bulk Retrieve Companies & Certificates
/bulk-companies
Use when you need to verify many companies in one request. Best for batch verification and backfill workflows.
✅ One credit per exactly_matched result (certificates returned). loosely_matched results return company info only and consume no credit. Skipped entries consume no credit. Max 100 companies per request.
GET Retrieve Company & Certificates by IAF ID
/company/{ce_id}
Use when you already know the IAF CE ID and want the latest company and certificate data without another match step.
✅ Credits consumed on retrieval. Per-ID billing details are pending confirmation. Max 100 IDs per request.
POST Bulk Retrieve Company & Certificates by IAF ID
/bulk-company-by-id
Use when you need high-volume retrieval by known ce_id values. Best for large-scale re-verification and scheduled refreshes.
✅ Credits consumed on retrieval. Same rules as the GET variant. Max 1000 IDs per request.
GET Retrieve Certificate by IAF ID
/certificate/{cert_id}
Use when you need to look up a specific certificate directly and already have the cert_id. Ideal for certificate-level verification or audit where the cert ID is known (e.g. scanned from a certificate document).
✅ Credits consumed on retrieval. Single certificate lookup per call.
Last updated