RDB Integration (Export Candidates)
Overview
ZipRecruiter's Resume Database helps partners go beyond inbound applicants by proactively searching and engaging job seekers. It enables employers to move resumes directly into their preferred ATS with a single click.
Key capabilities include:
- Move resumes with one click — send sourced candidates straight to your ATS
- Spot new engaged talent — surface recently active job seekers
- Review candidates faster — structured profile data for quick evaluation
- Bulk actions — unlock up to 25 resumes or download up to 100 at once
- Team collaboration — multiple users can source candidates in shared projects
- Admin oversight — visibility into sourcing activity across the organization
The RDB Integration delivers sourced candidates to your endpoint via webhook in the same manner as the Apply Webhook. Unlike the Apply Webhook which delivers candidates who actively apply to jobs, the RDB Integration delivers candidates who are sourced (found and selected) by employers from ZipRecruiter's resume database. This enables ATS partners to receive sourced candidates alongside applicants in a unified workflow.
Transport
The RDB Integration uses the same HTTPS POST transport as the Apply Webhook. Your endpoint must:
- Accept HTTPS POST requests
- Have a verifiable SSL certificate signed by a well-known Certificate Authority
- Return a
200 OKor 2xx response on success
Fields
The RDB candidate payload is delivered as a JSON object. All field values are strings unless specified otherwise.
Payload fields reference
| Field | Required | Type | Description |
|---|---|---|---|
name | Yes | string | The candidate's full name. |
first_name | Yes | string | The candidate's first name. |
last_name | Yes | string | The candidate's last name. |
email | Yes | string | The candidate's email address. |
phone | No | string | The candidate's phone number. |
resume | No | string | The candidate's resume in PDF format, base-64 encoded. |
profile | No | object | The candidate's profile data (same structure as the Apply Webhook profile). Contains nested fields including city, state, country, postal_code, executive_summary, job_records, education_records, and license_certification_records. |
source | Yes | string | Always "ZipRecruiter RDB" — identifies this as a sourced candidate. |
viewed_by_user | No | string | Full name of the employer user who sourced the candidate. |
viewed_by_email | No | string | Email address of the employer user who sourced the candidate. |
project_name | No | string | The name of the sourcing project, if applicable. |
Format
Full payload example
POST /candidates/sourced HTTP/1.1
Host: yourhost.example.com
Content-Type: application/json
{
"name": "Jane Smith",
"first_name": "Jane",
"last_name": "Smith",
"email": "jsmith@example.org",
"phone": "+1 5555550123",
"resume": "JVBERi0xLjUK...",
"source": "ZipRecruiter RDB",
"viewed_by_user": "Bob Recruiter",
"viewed_by_email": "bob@employer.example.com",
"project_name": "Q1 Engineering Hiring",
"profile": {
"executive_summary": "Full-stack engineer with 8 years of experience...",
"city": "San Francisco",
"state": "CA",
"country": "United States",
"postal_code": "94105",
"job_records": [
{
"position": "Senior Engineer",
"employer": "TechCorp",
"current": "1",
"start_date": "2020-03-01"
}
],
"education_records": [
{
"degree_name": "Bachelor of Science",
"major": "Computer Science",
"school": "University of California, Berkeley",
"type": "Bachelor's Degree",
"start_date": "2012-08-01",
"start_date_precision": "MONTH"
}
],
"license_certification_records": [
{
"description": "Amazon Web Services certification for cloud solutions architecture",
"name": "AWS Certified Solutions Architect",
"issued_date": "2021-06-15",
"issued_date_precision": "DAY",
"issuing_authority": "Amazon Web Services"
}
]
}
}
Response
Same as the Apply Webhook response. Return a 200 OK with optional identifiers.
If we receive a 5xx response, the system will automatically retry delivery up to six times over a two-day period.
Example response
{
"candidate_id": "src-12345",
"additional_data": {
"status": "imported"
}
}
Signatures
If signatures are enabled for your Apply Webhook integration, the same HMAC-SHA256 signature mechanism applies to RDB deliveries. See Apply Webhook Signatures for details.
Differences from Apply Webhook
Differences from Apply Webhook
| Apply Webhook | RDB Integration | |
|---|---|---|
| Trigger | Candidate applies to a job | Employer sources a candidate |
source field | Not present | "ZipRecruiter RDB" |
job_id field | Always present | Not present (not job-specific) |
viewed_by_user / viewed_by_email | Not present | Present (who sourced the candidate) |
response_id field | Always present | Not present |
answers field | May be present | Not present |
Frequently Asked Questions
Do you provide a sandbox for testing?
Unfortunately, at the moment we do not have a sandbox for testing the integration. However, we can make arrangements to provide test data if needed.
Do I need an authorization or API key?
No, but we can support HTTP Basic Authentication if your endpoint requires it.
Can I redirect candidates to an external URL?
No. Integrations require candidates to be managed via the ZipRecruiter workflow.
This webhook doesn't meet my ATS requirements, can you make adjustments?
Please contact us, as we may be able to support minor tweaks or custom integrations.
Getting Started
To enable the RDB Integration for your partnership, contact us. If you already have an Apply Webhook endpoint configured, the RDB Integration can typically reuse the same endpoint — the source field distinguishes sourced candidates from applicants.