REST API Documentation
REST API
Direct API access for any platform or language
Authentication
All API requests require authentication using your API key in the headers:
curl -X POST https://snapjobsai.com/api/v1/match -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json"
1
API Key Format
Snapjobs API keys follow a specific format that indicates the subscription plan:
sjm_fr_*
- Freelancer plansjm_pr_*
- Professional plansjm_ent_*
- Enterprise plan
Core Endpoints
Health Check
GET /api/v1/health X-API-Key: YOUR_API_KEY
Freelancer Matching
POST /api/v1/match Content-Type: application/json X-API-Key: YOUR_API_KEY { "description": "Build a modern web application with React and Node.js", "required_skills": ["React.js", "Node.js", "TypeScript"], "budget_range": [5000, 10000], "complexity": "medium", "timeline": 30 }
Skills Verification
POST /api/v1/verify-skill Content-Type: application/json X-API-Key: YOUR_API_KEY { "keyword": "React.js" }
AI Interviews
POST /api/v1/interview Content-Type: application/json X-API-Key: YOUR_API_KEY { "freelancer_id": "f1234", "project_description": "Build a modern web application with React and Node.js", "required_skills": ["React.js", "Node.js", "TypeScript"], "job_title": "Full Stack Developer", "mode": "ai_questions" }
Resume Parsing
POST /api/v1/parse Content-Type: multipart/form-data X-API-Key: YOUR_API_KEY [Form data containing a file field named 'file' with PDF or DOCX resume]
Generate Test Data
GET /api/v1/generate-test-data?num_freelancers=10 X-API-Key: YOUR_API_KEY
Response Examples
Health Check Response
{
"status": "healthy",
"components": {
"data_source": {
"status": "healthy",
"type": "csv",
"freelancer_count": 500
},
"skill_extractor": {
"status": "ready"
},
"database": {
"status": "connected"
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Match Response
{
"status": "success",
"matches": [
{
"freelancer": {
"id": "f1234",
"name": "Jane Smith",
"job_title": "Senior Full Stack Developer",
"skills": ["React.js", "Node.js", "TypeScript", "MongoDB", "AWS"],
"experience": 7,
"rating": 4.9,
"hourly_rate": 85.0,
"profile_url": "https://snapjobsai.com/profiles/f1234",
"availability": true,
"total_sales": 327
},
"score": 0.95,
"matching_skills": 3
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Rate Limiting
API requests are subject to rate limits based on your subscription plan. These limits are enforced on a per-API key basis:
API Rate Limits
Plan | Requests Per Month | Reset Period |
---|---|---|
Freelancer (sjm_fr_*) | 5,000 | 30 Days |
Professional (sjm_pr_*) | 50,000 | 30 Days |
Enterprise (sjm_ent_*) | Unlimited | N/A |
Rate limit information is included in the API response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 995
X-RateLimit-Reset: 3600
1
2
3
API Testing Tools
# Match freelancers
curl -X POST https://snapjobsai.com/api/v1/match -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{
"description": "Build a modern web application with React and Node.js",
"required_skills": ["React.js", "Node.js", "TypeScript"],
"budget_range": [5000, 10000],
"complexity": "medium",
"timeline": 30
}'
# Check API health
curl -X GET https://snapjobsai.com/api/v1/health -H "X-API-Key: YOUR_API_KEY"
1
2
3
4
5
6
7
8
9
10
11