Developer Guide
Education Verification API: Integrate Degree and Credential Checks into Your Platform
A step-by-step guide to adding automated school lookup, accreditation checks, and diploma mill detection to your ATS, HRIS, background check platform, or hiring workflow — using the VerifyED REST API.
What this guide covers
The VerifyED API provides programmatic access to a database of 912,000+ schools worldwide, 2,592 known diploma mills, and accreditation status data. This guide walks through authentication, the core verification endpoints, interpreting responses, and patterns for embedding verification into hiring workflows.
Why build education verification into your platform?
Education credential fraud is more common than most hiring platforms account for. Studies consistently find that 30–46% of job seekers misrepresent their educational background in some way — from inflating graduation dates to listing degrees from institutions that do not exist.
The cost of a bad hire who misrepresented their credentials is well-documented: legal exposure under negligent hiring doctrine, compliance failures in regulated industries, and the direct cost of replacing the hire. For healthcare, finance, and licensed professions, the stakes are higher — a fraudulent credential can expose employers to regulatory action.
Building verification into your platform — rather than leaving it to candidates or manual HR review — creates a defensible, auditable process. The VerifyED API is designed specifically for this use case: fast enough to run during application intake, accurate enough to flag diploma mills automatically, and flexible enough to fit into any hiring stack.
Authentication
All API requests require an API key passed in the X-API-Key header.
API keys are scoped to your account and can be rotated from the API key management dashboard.
curl -H "X-API-Key: sk_live_your_key_here" \
"https://verifyed.org/api/v1/search?q=stanford+university" Keep your API key out of client-side code and version control. Use environment variables or a secrets manager. Rate limits and usage are tracked per key, so use separate keys for production and development environments.
Core verification workflow
A typical education verification flow has three stages:
- Search — match the institution name from the candidate's application to a verified school record
- Lookup — retrieve full details including accreditation status, country, and diploma mill flag
- Decide — apply your business logic based on the
isDiplomaMillflag, accreditation status, and country
Step 1: Search for the institution
GET /api/v1/search?q=northeastern+university&country=US&limit=5
# Response
{
"results": [
{
"id": "us-nces-166683000001",
"name": "Northeastern University",
"country": "US",
"state": "MA",
"city": "Boston",
"type": "4-year",
"isDiplomaMill": false,
"accredited": true,
"score": 0.98
},
...
]
}
Use the score field to rank results by match confidence.
For programmatic processing, accept results above 0.85 and queue lower-confidence matches for human review.
Step 2: Retrieve full school record
GET /api/v1/schools/us-nces-166683000001
# Response
{
"id": "us-nces-166683000001",
"name": "Northeastern University",
"country": "US",
"state": "MA",
"city": "Boston",
"type": "4-year",
"isDiplomaMill": false,
"accredited": true,
"accreditationBodies": ["NECHE"],
"website": "https://northeastern.edu",
"closedAt": null,
"sources": ["NCES IPEDS 2023"]
} Step 3: Apply verification logic
The key fields for making a verification decision:
| Field | Type | What it means |
|---|---|---|
isDiplomaMill | boolean | Institution appears on recognized diploma mill databases — auto-reject in most workflows |
accredited | boolean | Institution holds recognized regional or national accreditation — required for many professional roles |
closedAt | date | null | School has closed — credentials may still be valid but require additional verification steps |
country | ISO 3166-1 | Used to apply country-specific verification rules and flag credentials needing credential evaluation |
Handling diploma mill detection
When isDiplomaMill: true, the institution is in the VerifyED diploma mill database — a curated list of
2,592 known degree mills cross-referenced from government, accreditation body, and academic fraud
research databases.
Most platforms should treat a diploma mill result as an automatic disqualification trigger, with the application flagged for HR review rather than auto-rejected — to avoid adverse action on edge cases where an institution was mislabeled or where the candidate was themselves defrauded.
Compliance note
Before taking adverse action based on a diploma mill flag, review FCRA requirements if you are a consumer reporting agency or are using a third-party background check service. Direct employer use of the API is generally not subject to FCRA, but consult your legal counsel for your specific situation.
Autocomplete for application forms
The autocomplete endpoint is optimized for typeahead inputs — low latency, partial match support, and country filtering. It is the right endpoint to use when building a school name field in an application form.
GET /api/v1/autocomplete?q=north&country=US&limit=5
# Returns lightweight results optimized for UI typeahead
{
"results": [
{ "id": "us-nces-166683000001", "name": "Northeastern University", "city": "Boston", "state": "MA" },
{ "id": "us-nces-174066000001", "name": "Northwestern University", "city": "Evanston", "state": "IL" },
...
]
}
Store the school ID (us-nces-166683000001) rather than the text name in your database.
This allows you to run the full verification lookup later without re-matching against the institution name.
Error handling and edge cases
Institution not found
A search returning zero results does not mean the credential is fraudulent — it may mean the institution is too small to be in the database, uses a different legal name, or was recently closed. Queue these for manual review rather than auto-rejecting.
International institutions
For credentials from outside the US, Canada, UK, and Australia, accreditation status may not
be populated. Use the country field to detect these and route to a NACES-member credential
evaluation service for a second check.
Rate limits
Rate limit headers are returned with every response:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1710000000 For high-volume processing, implement exponential backoff on 429 responses. Batch nightly verification runs off-peak rather than real-time if you expect volume spikes.
Integration patterns
ATS intake: verify at application
Call the search and lookup endpoints when an application is submitted. Store the verification result alongside the application record. Flag diploma mill results for recruiter review before screening calls are scheduled.
HRIS pre-employment: verify at offer
Trigger verification when a conditional offer is extended. This is the last checkpoint before onboarding and the standard integration point for background check platforms. Store the verification timestamp and result for audit purposes.
Background check enrichment
For screening companies that receive education history as plain text from applicants, call the autocomplete endpoint to canonicalize institution names before processing. This improves match rates on both your existing verification databases and the VerifyED lookup.
Getting started
The VerifyED API is free to explore. API keys are available from the API documentation page.
The database covers 912,000+ institutions across the US, Canada, UK, Australia, and 100+ other countries. Diploma mill coverage includes 2,592 known mills with ongoing updates from government and accreditation body sources.
Ready to integrate?
Get an API key from the documentation page and run your first verification in under five minutes.
View API Documentation →