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

WorkdayBullhornGreenhouseLeverBambooHR

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

POST/api/v1/evaluate

Submit a resume and job description for AI-powered evaluation. Returns a comprehensive analysis with matching score.

Request Body

FieldTypeRequiredDescription
resumestringYesBase64 encoded PDF or plain text resume
job_descriptionstringYesJob description text or requirements
optionsobjectNoAdditional options (see below)
webhook_urlstringNoURL for async result delivery
metadataobjectNoYour 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

POST/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

POST/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

POST/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

POST/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

EventDescriptionPayload
evaluation.completedEvaluation finished successfullyFull evaluation results
evaluation.failedEvaluation failed to processError details
batch.completedBatch processing finishedBatch results summary
code.validatedCode assessment completedValidation 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

POST/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

1

Candidate Applies

Your ATS receives application with resume

2

Send to MaximizeHire

Forward resume and job description via API

3

AI Evaluation

Our AI analyzes fit and generates insights

4

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
POPULAR

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)

Resume review:5 min/resume
Interview prep:25 min/candidate
Technical validation:Not done
Total for 1000 resumes:125 hours
Quality:Surface-level

MaximizeHire (MRI Vision)

Deep analysis:15 sec/resume
Interview Q&A:Automated
Technical validation:Included
Total for 1000 resumes:4.2 hours
Quality:800+ word analysis

⏱️ 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:

ComponentCost per 1,000 EvaluationsWhat You Get
OpenAI GPT-4o-mini$1.58Advanced AI analysis
AWS Infrastructure$0.42Servers, storage, bandwidth
Our Engineering$298.00Optimized prompts, parsing, formatting, API, support
Total Price to You$300.00Complete solution

Cost Scenarios for Different Volumes

Small Company

100 resumes/month

Manual:$415
API:$30
Savings:$385/month

Growing Company

1,000 resumes/month

Manual:$4,150
API:$300
Savings:$3,850/month

Enterprise

10,000 resumes/month

Manual:$41,500
API:$1,000*
Savings:$40,500/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

401INVALID_API_KEY - Invalid or missing API key
403INSUFFICIENT_QUOTA - Monthly limit exceeded
429RATE_LIMIT_EXCEEDED - Too many requests
400INVALID_REQUEST - Malformed request data
500INTERNAL_ERROR - Server error (rare)

Support & Resources

Get Help