Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/checkr:checkr-international-employment-verification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v1
title: Checkr.com API Docs International Employment Verification…
license:
name: Proprietary
url: https://www.checkr.com
contact:
name: Checkr
email: clients@checkr.com
url: https://checkr.com
description: '# Introduction
Checkr is a modern, RESTful API-driven background screening service. The Checkr API uses resource-oriented URLs, supports HTTPS authentication and HTTPS verbs, and leverages JSON in all responses passed back to customers. Checkr is used by over 10,000 customers in a wide variety of industries, and supports a range of screening products and candidate workflows. For a full list of our screenings, please see the Checkr Screenings section below or read the Checkr Help Center articles on Screening Types. This Programming Guide is designed to help customers get up-and-running with Checkr''s background screening services, both by providing the necessary context to understand the background screening industry and its regulations, and by giving technical guidance on how to work with the Checkr API. **Note:** The cURL command is used for all examples in the Checkr API documentation. ### Other resources
For information about using the Checkr Dashboard, and compliance and regulatory aspects of background checks, visit the Checkr Help Center. For a more targeted set of Checkr Dashboard learning paths for talent sourcing roles like Recruiters, Adjudicators, or Program Administrators, please see the Checkr Learning Center. ## Understand the screening process
Checkr follows a standardized screening process:
1. Customer requests a background check. 2. Candidate is presented with and signs the necessary disclosures and authorizations, and submits the requested Personally Identifiable Information (PII). - With the Checkr-Hosted Apply Flow, the candidate signs disclosures and authorizations and enters their own PII. - With a custom self-hosted flow, the Checkr customer collects the required authorizations, and passes Checkr candidate PII using the Checkr API. 3. Checkr conducts an SSN Trace, and collects associated addresses. 4. Checkr runs searches or verifications based on the screening Packages requested. 5. Checkr applies appropriate compliance filters based on the customer’s settings and candidate’s provided residence to determine which records to show, and returns a finalized report to the customer. 6. If there is a record on the report, the customer Engages or Adverse Actions the Candidate, based on an individualized assessment of the candidate''s report. ### 1. Request a background check
To initiate a background check, a customer provides Checkr their candidate''s email address (for a Checkr-Hosted Apply Flow) or the candidate''s PII (for a self-hosted flow). For more information on ways to achieve this, please see Designing your workflow. ### 2. Candidate signs disclosures and authorizations
Under the U.S. Fair Credit Reporting Act (FCRA), customers are obligated to collect consent from their candidates when running background checks through Checkr or any other Consumer Reporting Agency (CRA). The Checkr-Hosted Apply Flow presents candidates with fields in which the requested PII may be entered, and collects candidate information on behalf of the customer. Checkr will also present disclosures and authorizations to the candidate, and enable eSignature to capture consent, on behalf of customers using this flow with the Checkr Dashboard or email invitation flow. Custom self-hosted flows collect candidate PII, and pass the information to Checkr using the Checkr API. Customers creating a self-hosted flow will receive guidance from the Checkr team on setting up a similar process as required. ### 3. Checkr runs an SSN Trace
Checkr runs an SSN Trace to match the candidate’s provided PII with existing credit header data mapped to the SSN. This process yields a list of names and addresses associated with the entered SSN, which can be used to supplement the background check process. At this point Checkr also conducts some initial data comparisons to check that critical pieces of information, like a candidate''s submitted Date of Birth (DOB) and SSN, align with information held on file by the credit bureaus.'
servers:
- url: https://api.checkr.com/v1
description: Main server
tags:
- name: International Employment Verification
description: 'Verification of previous employment history may include employer’s name, dates of employment, position/title, reason for leaving, eligibility for rehire, and comments. Reasonable attempts will be made to verify available government agencies and employment databases. Email verification, and phone verification may be used in countries where the records of former employers are not available in searchable form, and where contacting the supervisor or manager is common practice.
Refer to International Screenings for more details.'
paths:
/international_employment_verifications{id}:
parameters:
- name: id
in: path
description: ID of the International Employment Verification to retrieve.
required: true
schema:
type: string
get:
tags:
- International Employment Verification
summary: Retrieve an existing International Employment Verification
description: Returns an existing International Employment Verification with the input ID.
operationId: getInternationalEmploymentVerification
security:
- basic_auth: []
responses:
'200':
$ref: '#/components/responses/InternationalEmploymentVerification'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
x-codeSamples:
- lang: curl
source: "$ curl -X GET https://api.checkr.com/v1/international_education_verifications/41007cffefb435cf7d701f75d8b86f \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9:\n"
components:
schemas:
ResourceURI:
type: string
description: URI of the resource.
readOnly: true
ResultPayload:
type: object
properties:
verified:
type: boolean
example: true
comments:
type: string
ignored:
type:
- string
- 'null'
example: null
ScreeningsGenericPayloadInternational:
type: object
properties:
id:
$ref: '#/components/schemas/ResourceId'
example: 41007cffefb435cf7d701f75d8b86f
object:
type: string
uri:
allOf:
- $ref: '#/components/schemas/ResourceURI'
status:
type: string
description: 'Status of the screening.
'
enum:
- pending
- complete
- canceled
- suspended
example: complete
result:
type:
- string
- 'null'
description: Result of the screening.
enum:
- clear
- consider
example: clear
created_at:
type: string
description: Time at which the screening was created.
format: date-time
example: '2014-01-18T12:34:00Z'
completed_at:
type: string
description: Time at which the screening was completed.
format: date-time
example: '2014-01-18T12:35:30Z'
turnaround_time:
type: integer
example: 90
description: Number of seconds the screening took to complete, calculated from `created_at` to `completed_at`.
cancellation_reason:
type: string
description: See [cancellation reasons](#section/Reference/Cancellation-Reasons) section for possible values.
example: complete_now_customer_requested
cancellation_reason_description:
type: string
description: See [cancellation reasons](#section/Reference/Cancellation-Reasons) section for possible values.
example: Customer requested Complete Now prior to screening completion
InternationalAddress:
type: object
properties:
street:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: Street address
example: 123 Champs-Élysées
unit:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: House, building or apartment number.
example: 2000
city:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: City
example: Paris
state:
type: string
description: State or Province abbreviation
example: IDF
zipcode:
type: string
description: Postal code
example: '75008'
country:
type: string
description: 'Country
Format: `ISO 3166-1 alpha-2`
'
example: FR
ForbiddenError:
type: object
properties:
error:
type: string
example: You do not have permission to access the requested resource
InternationalEmploymentVerification:
allOf:
- $ref: '#/components/schemas/ScreeningsGenericPayloadInternational'
- type: object
properties:
id:
example: 41007cffefb435cf7d701f75d8b86f
object:
enum:
- international_employment_verification
uri:
example: /v1/international_employment_verifications/41007cffefb435cf7d701f75d8b86f
turnaround_time:
example: 603216
records:
type: array
description: Array of CandidateEmploymentHistory objects.
items:
type: object
properties:
id:
type: string
example: 592311d2113adf7e9c9f66b8
result:
type: object
properties:
start_date:
allOf:
- $ref: '#/components/schemas/ResultPayload'
- type: object
properties:
comments:
example: '2016-06-01'
end_date:
allOf:
- $ref: '#/components/schemas/ResultPayload'
- type: object
properties:
comments:
example: '2017-05-01'
position:
allOf:
- $ref: '#/components/schemas/ResultPayload'
- type: object
properties:
verified:
example: true
comments:
example: Software Development Engineer
ignored:
example: manual
contract_type:
allOf:
- $ref: '#/components/schemas/ResultPayload'
- type: object
properties:
comments:
example: Full Time
ignored:
example: package
salary:
allOf:
- $ref: '#/components/schemas/ResultPayload'
- type: object
properties:
verified:
example: true
comments:
example: '100000'
questions:
type: array
description: List of questions for the candidate's employer.
items:
type: object
properties:
sort_number:
description: The position of the question within the list.
type: integer
example: 1
text:
description: The question that was asked.
type: string
example: What is the documented reason for the employee's departure?
response:
description: The answer received in response to the question.
type: string
example: They resigned.
employer:
allOf:
- $ref: '#/components/schemas/Employer'
- properties:
address:
$ref: '#/components/schemas/InternationalAddress'
events:
type: array
items:
type: object
properties:
text:
type: string
example: started
created_at:
type: string
example: '2017-06-29T14:42:44Z'
type:
type: string
example: verification_start
status:
type: string
enum:
- pending
- clear
- consider
example: consider
country:
type: string
description: ISO country code of the jurisdiction where the search was run
example: FR
pdf_url:
type: string
description: URL to PDF document containing screening result details
example: https://eu-west-1-checkr-staging.s3.eu-west-1.amazonaws.com/document.pdf
ResourceId:
type: string
example: e44aa283528e6fde7d542194
readOnly: true
description: ID of the resource.
Employer:
type: object
properties:
id:
$ref: '#/components/schemas/ResourceId'
object:
type: string
enum:
- employer
readOnly: true
uri:
allOf:
- $ref: '#/components/schemas/ResourceURI'
example: /v1/candidates/e44aa283528e6fde7d542194/employers/ca27df84be5b50dfa7ee1cda
candidate_id:
type: string
description: ID of the Candidate being screened.
pattern: '[a-zA-Z0-9 -''.,]*'
example: xxx
minLength: 1
name:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: Candidate’s employer’s name.
example: Checkr
minLength: 1
position:
type: string
description: Candidate’s position or title.
example: Software Engineer
salary:
type: integer
description: Candidate’s gross salary in dollars annually.
example: 10000
contract_type:
type: string
description: Candidate’s contract type.
enum:
- full_time
- part_time
- contract
- internship
example: full_time
do_not_contact:
type: boolean
default: false
description: If `true`, the employer will not be contacted about the Candidate.
example: false
start_date:
type: string
description: Candidate’s start date with the employer.
format: date
example: '2016-06-01'
end_date:
type: string
description: Candidate’s end date with the employer.
format: date
example: '2017-05-01'
employer_url:
type: string
description: Employer’s website.
example: www.employer.com
address:
$ref: '#/components/schemas/Address'
manager:
type: object
properties:
name:
type: string
description: Candidate's manager's name.
example: Joe Smith
title:
type: string
description: Candidate's manager's title.
example: Engineering Manager
email:
type: string
description: Candidate's manager's email address.
example: joesmith@checkr.co
phone:
type: string
description: Candidate's manager's phone number.
example: 212-555-1234
UnauthorizedError:
type: object
properties:
error:
type: string
example: Bad authentication error
Address:
type: object
properties:
street:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: Street address.
example: 123 Main St.
unit:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: House, building or apartment number.
example: 2000
city:
type: string
pattern: '[a-zA-Z0-9 -''.,]*'
description: City.
example: San Francisco
state:
type: string
description: State.
example: CA
zipcode:
type: string
description: 5-digit zip code.
example: '90401'
country:
type: string
description: 'Country.
Format: `ISO 3166-1 alpha-2`
'
example: US
responses:
InternationalEmploymentVerification:
description: International Employment Verification details
content:
application/json:
schema:
$ref: '#/components/schemas/InternationalEmploymentVerification'
ForbiddenError:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
UnauthorizedError:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
securitySchemes:
basic_auth:
type: http
scheme: basic
x-tagGroups:
- name: Resources
tags:
- Account
- Users
- Hierarchy (Enabled by request)
- Nodes
- Candidates
- Reports
- Packages
- Invitations
- Geos
- Programs
- Assessments
- Subscriptions
- Continuous Checks
- Adverse Actions
- Adverse Items
- Verifications
- Documents
- Driver Licenses
- Professional Licenses
- Schools
- Employers
- Counties
- Report Tags
- Report Addresses
- Report ETA
- Candidate Stories
- SSN
- Webhooks
- Candidate Postal Address
- name: Screenings
tags:
- SSN Trace
- Sex Offender Registry Search
- Global Watchlist Search
- National Criminal Search
- Federal Criminal Search
- Federal District Criminal Search
- Federal Civil Search
- Federal District Civil Search
- County Criminal Search
- State Criminal Search
- Motor Vehicle Report
- Drug & Alcohol Clearinghouse Search
- Education Verification
- Employment Verification
- Personal Reference Verification
- Professional Reference Verification
- Professional License Verification
- International Adverse Media Search
- International Criminal Search
- International Education Verification
- International Employment Verification
- International Global Watchlist Search
- International Identity Document Validation
- International Motor Vehicle Report
- FACIS Search
- name: Form I-9
tags:
- Getting Started
- Forms I-9
- Worksites
x-provenance:
method: harvested
publisher: Checkr
source: https://api.redocly.com/registry/bundle/checkr/Checkr%20Public%20API/v1/openapi.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)