Overview
You can import hundreds of candidates at once using Excel files (.xlsx). The bulk import endpoint validates your data, extracts candidate information, and creates all records in a single operation.Import from Excel
Prepare your file
Create an Excel file with these required columns:name- Full name of the candidateemail- Email addressskills- Comma-separated list of skillsexperience- Years of experience (number)
projects- Description of past projectsresume_text- Resume content or summarygithub_link- GitHub profile URLlinkedin_link- LinkedIn profile URL
Upload via API
Prepare your Excel file
Ensure all required columns are present with valid data. Empty rows will be skipped automatically.
How it works
The import endpoint processes your Excel file in these stages:1. File validation
.xlsx files are accepted. CSV files must be converted to Excel format first.
2. Column validation
3. Row processing
Candidate object. Skills are automatically split by commas, and empty values are handled gracefully.
4. Batch insertion
Sample Excel template
Here’s an example of a properly formatted Excel file:| name | skills | experience | projects | |
|---|---|---|---|---|
| John Doe | [email protected] | Python, React, Docker | 3 | E-commerce platform, Analytics dashboard |
| Jane Smith | [email protected] | Java, Spring, AWS | 5 | Payment gateway, Microservices architecture |
| Bob Johnson | [email protected] | JavaScript, Node.js, MongoDB | 2 | Real-time chat app |
Error handling
The endpoint returns specific error messages for common issues:- Invalid file type: “Only .xlsx files are supported”
- Missing columns: “Missing columns: name, email”
- Processing errors: “Error importing Excel file: (error details)“
Best practices
- Validate data first: Check that all emails are valid and skills are correctly formatted before uploading
- Use consistent formatting: Keep skill names consistent across all rows (e.g., “JavaScript” vs “javascript”)
- Include optional fields: Add
projectsandresume_textfor better evaluation results - Test with small batches: Try importing 5-10 candidates first to verify your format