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 plan
  • sjm_pr_* - Professional plan
  • sjm_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

PlanRequests Per MonthReset Period
Freelancer (sjm_fr_*)5,00030 Days
Professional (sjm_pr_*)50,00030 Days
Enterprise (sjm_ent_*)UnlimitedN/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

Additional Resources