API Documentation
Give your recruiters MRI-level vision for talent evaluation. MaximizeHire enhances your existing ATS with deep analysis, technical validation, and automated interview preparation through simple API calls.
Seamlessly integrates with your existing ATS
Quick Navigation
Getting Started
Think of it as upgrading from X-ray to MRI vision for talent evaluation. MaximizeHire API enhances your existing ATS with deep contextual analysis, technical validation, and automated interview preparation - ensuring only pre-validated candidates reach hiring managers.
What We Provide
- • Deep MRI-level analysis (800+ words per candidate)
- • Technical validation via coding assessments
- • Automated interview Q&A generation
- • Pre-screening before manager review
- • 0-100 scoring with detailed reasoning
What You Keep
- • Your user interface
- • User management
- • Candidate database
- • Workflow control
- • Your branding
Base URL
https://www.maximizehire.ai/api/v1
API Authentication
Authentication Method
All API requests must include your API key in the Authorization header as a Bearer token.
Request Header
Authorization: Bearer YOUR_API_KEY
Note: API keys can be generated from your MaximizeHire dashboard. Keep your API keys secure and never expose them in client-side code.
API Key Management
Best Practices
- • Store keys in environment variables
- • Use different keys for dev/staging/prod
- • Rotate keys regularly
- • Never commit keys to version control
Key Permissions
- • Read: Access evaluation results
- • Write: Submit evaluations
- • Admin: Manage webhooks
AI Evaluation API
Evaluate Candidate
/api/v1/evaluate
Submit a resume and job description for AI-powered evaluation. Returns a comprehensive analysis with matching score.
Request Body
Field | Type | Required | Description |
---|---|---|---|
resume | string | Yes | Base64 encoded PDF or plain text resume |
job_description | string | Yes | Job description text or requirements |
options | object | No | Additional options (see below) |
webhook_url | string | No | URL for async result delivery |
metadata | object | No | Your custom data (returned in response) |
Options Object
{
"include_questions": true, // Generate interview questions
"question_count": 10, // Number of questions to generate
"include_salary_insights": true, // Include salary recommendations
"priority_skills": ["React", "Node.js"], // Focus on specific skills
"evaluation_depth": "detailed" // "quick" | "standard" | "detailed"
}
Sample Request
curl -X POST https://www.maximizehire.ai/api/v1/evaluate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"resume": "base64_encoded_pdf",
"job_description": "Senior React Developer...",
"options": {
"include_questions": true,
"question_count": 5
},
"metadata": {
"candidate_id": "12345",
"job_id": "67890"
}
}'
Sample Response
{
"evaluation_id": "eval_abc123",
"status": "completed",
"score": 85,
"recommendation": "strong_match",
"strengths": [
"8+ years React experience",
"Strong TypeScript skills",
"Team leadership experience"
],
"weaknesses": [
"Limited AWS experience",
"No GraphQL mentioned"
],
"summary": "Excellent candidate with strong frontend expertise...",
"detailed_analysis": "...",
"interview_questions": [...],
"metadata": {
"candidate_id": "12345",
"job_id": "67890"
},
"processing_time_ms": 8500
}
Processing Time: Evaluations typically complete in 10-30 seconds. Use webhooks for async processing of large batches.
Batch Evaluation
/api/v1/evaluate/batch
Evaluate multiple candidates against one or more jobs. Results delivered via webhook.
Async Processing: Batch evaluations are processed asynchronously. A webhook URL is required for result delivery.
Resume Analysis API
Parse & Analyze Resume
/api/v1/resume/analyze
Extract structured data from resumes and analyze candidate qualifications.
Sample Request
{
"resume": "base64_encoded_pdf",
"extract_fields": [
"contact_info",
"skills",
"experience",
"education",
"certifications"
]
}
Sample Response
{
"candidate_profile": {
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+1234567890",
"location": "San Francisco, CA"
},
"skills": {
"technical": ["React", "Node.js", "Python"],
"soft": ["Leadership", "Communication"]
},
"experience": {
"total_years": 8,
"positions": [...]
},
"education": [...],
"summary": "Experienced full-stack developer..."
}
Interview Q&A Generation
Generate Interview Questions
/api/v1/interview/questions
Generate tailored interview questions based on candidate profile and job requirements.
Sample Request
{
"evaluation_id": "eval_abc123",
"question_types": [
"technical",
"behavioral",
"situational"
],
"count": 10,
"difficulty": "senior",
"include_answers": true
}
Sample Response
{
"questions": [
{
"id": "q1",
"type": "technical",
"question": "How would you optimize a React application?",
"expected_answer": "Key points: React.memo, useMemo...",
"skills_assessed": ["React", "Performance"],
"difficulty": "intermediate",
"follow_ups": [...]
}
],
"interview_guide": {
"duration": "60 minutes",
"structure": [...],
"evaluation_criteria": [...]
}
}
Coding Assessment API
Validate Code Submission
/api/v1/code/validate
Validate and score code submissions for technical assessments.
Sample Request
{
"language": "javascript",
"code": "function fibonacci(n) { ... }",
"problem_id": "fibonacci_sequence",
"test_cases": [
{"input": 5, "expected": 5},
{"input": 10, "expected": 55}
],
"time_limit_ms": 5000
}
Sample Response
{
"validation_id": "val_xyz789",
"status": "completed",
"passed": true,
"score": 95,
"test_results": [
{"test": 1, "passed": true, "time_ms": 12},
{"test": 2, "passed": true, "time_ms": 15}
],
"code_quality": {
"efficiency": "excellent",
"readability": "good",
"best_practices": "excellent"
},
"feedback": "Efficient solution using dynamic programming..."
}
Webhooks
Webhook Events
Receive real-time notifications when evaluations complete or status changes occur.
Available Events
Event | Description | Payload |
---|---|---|
evaluation.completed | Evaluation finished successfully | Full evaluation results |
evaluation.failed | Evaluation failed to process | Error details |
batch.completed | Batch processing finished | Batch results summary |
code.validated | Code assessment completed | Validation results |
Webhook Payload Example
{
"event": "evaluation.completed",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"evaluation_id": "eval_abc123",
"score": 85,
"recommendation": "strong_match",
// ... full evaluation results
},
"metadata": {
// Your custom metadata from original request
}
}
Webhook Security: All webhook payloads include an HMAC signature in theX-MaximizeHire-Signature
header for verification.
Configure Webhooks
/api/v1/webhooks
Register webhook endpoints to receive event notifications.
{
"url": "https://your-app.com/webhooks/maximizehire",
"events": ["evaluation.completed", "batch.completed"],
"secret": "your_webhook_secret"
}
Integration Examples
Node.js / JavaScript
// Install: npm install axios
const axios = require('axios');
class MaximizeHireClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseURL = 'https://www.maximizehire.ai/api/v1';
}
async evaluateCandidate(resume, jobDescription, options = {}) {
try {
const response = await axios.post(
`${this.baseURL}/evaluate`,
{
resume: resume,
job_description: jobDescription,
options: options
},
{
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Evaluation failed:', error.response?.data);
throw error;
}
}
}
// Usage
const client = new MaximizeHireClient('YOUR_API_KEY');
const evaluation = await client.evaluateCandidate(
resumeBase64,
jobDescription,
{ include_questions: true }
);
console.log('Score:', evaluation.score);
Python
# Install: pip install requests
import requests
import base64
class MaximizeHireClient:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = 'https://www.maximizehire.ai/api/v1'
self.headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
def evaluate_candidate(self, resume_path, job_description, **options):
# Read and encode resume
with open(resume_path, 'rb') as f:
resume_base64 = base64.b64encode(f.read()).decode()
payload = {
'resume': resume_base64,
'job_description': job_description,
'options': options
}
response = requests.post(
f'{self.base_url}/evaluate',
json=payload,
headers=self.headers
)
response.raise_for_status()
return response.json()
# Usage
client = MaximizeHireClient('YOUR_API_KEY')
result = client.evaluate_candidate(
'resume.pdf',
'Senior Python Developer with 5+ years experience...',
include_questions=True,
question_count=5
)
print(f"Match Score: {result['score']}")
print(f"Recommendation: {result['recommendation']}")
Integration Pattern
Candidate Applies
Your ATS receives application with resume
Send to MaximizeHire
Forward resume and job description via API
AI Evaluation
Our AI analyzes fit and generates insights
Display Results
Show scores and recommendations in your UI
Rate Limits & Pricing
Starter
$0.50/evaluation
- • Up to 1,000 evaluations/month
- • 10 requests/minute
- • Standard processing
- • Email support
Professional
$0.30/evaluation
- • Up to 10,000 evaluations/month
- • 60 requests/minute
- • Priority processing
- • Webhooks included
- • Slack support
Enterprise
Custom
- • Unlimited evaluations
- • No rate limits
- • Dedicated infrastructure
- • Custom AI models
- • 24/7 phone support
- • SLA guarantee
Rate Limit Headers
Track your usage with response headers:
- X-RateLimit-Limit
- X-RateLimit-Remaining
- X-RateLimit-Reset
Volume Discounts
Processing more than 10,000 evaluations per month? Contact our sales team for custom pricing and dedicated support.
Cost Comparison & ROI Analysis
Real Cost Analysis: 1,000 Resume Evaluation
Traditional Process (X-Ray Vision)
MaximizeHire (MRI Vision)
⏱️ Save 121 hours (97%) • 🎯 Pre-validated candidates • 🧠 MRI-level depth
Behind the Scenes: Actual Infrastructure Costs
Understanding the real costs helps you appreciate the value we provide:
Component | Cost per 1,000 Evaluations | What You Get |
---|---|---|
OpenAI GPT-4o-mini | $1.58 | Advanced AI analysis |
AWS Infrastructure | $0.42 | Servers, storage, bandwidth |
Our Engineering | $298.00 | Optimized prompts, parsing, formatting, API, support |
Total Price to You | $300.00 | Complete solution |
Cost Scenarios for Different Volumes
Small Company
100 resumes/month
Growing Company
1,000 resumes/month
Enterprise
10,000 resumes/month
*Enterprise volume pricing
Why Companies Choose MaximizeHire API
Immediate Benefits
- ✓ 93% cost reduction vs manual screening
- ✓ 98% time savings (hours → minutes)
- ✓ Process resumes 24/7 without breaks
- ✓ Consistent evaluation criteria
Long-term Value
- ✓ Scale without hiring more recruiters
- ✓ Better candidate matches with AI
- ✓ Faster time-to-hire
- ✓ Complete audit trail for compliance
Error Handling
Error Response Format
{
"error": {
"code": "INVALID_API_KEY",
"message": "The provided API key is invalid",
"details": "Check your API key in the dashboard",
"request_id": "req_abc123"
}
}
Common Error Codes
401 | INVALID_API_KEY - Invalid or missing API key |
403 | INSUFFICIENT_QUOTA - Monthly limit exceeded |
429 | RATE_LIMIT_EXCEEDED - Too many requests |
400 | INVALID_REQUEST - Malformed request data |
500 | INTERNAL_ERROR - Server error (rare) |
Support & Resources
Developer Resources
Get Help
- • Email: api@maximizehire.ai
- • Slack: Join our developer community
- • Status: status.maximizehire.ai
- • Response time: < 24 hours (business days)