Skip to main content

score_jobs

Score job listings against a candidate profile. Returns match scores across seven dimensions. Credits: 3.0 per 50 jobs (minimum 3.0, cached results cost 25%)

Modes

Inline Mode (up to 15 jobs)

Pass jobs directly in the request. Best for small batches.

Batch Mode (up to 500 jobs)

For larger job sets, use the two-step batch flow:
  1. Call init_scoring to get an upload URL
  2. Upload your jobs JSON file to the signed URL
  3. Call score_jobs with the batch_id

Inline Mode

Parameters

ParameterTypeRequiredDescription
jobsarrayYes1-15 job objects to score
expectationsobjectYesScoring context (see below)
profilestringYes (first call)Candidate resume/profile text (max 8,000 chars). Cached after first call.

Expectations Object

FieldTypeRequiredDescription
target_rolesarrayYesTarget job titles
locationsarrayYesPreferred locations
p1_citiesarrayNoPriority 1 cities
p2_citiesarrayNoPriority 2 cities
requires_visabooleanNoWhether visa sponsorship is needed
countrystringNoCountry code (default: gb)
sectorstringNoIndustry sector

Request

curl -X POST https://mcp.debytes.io/mcp \
  -H "Authorization: Bearer deb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "score_jobs",
      "arguments": {
        "jobs": [
          {
            "title": "Senior ML Engineer",
            "company": "TechCorp",
            "location": "London",
            "salary_min": 80000,
            "salary_max": 100000,
            "work_mode": "hybrid",
            "description": "Looking for a Senior ML Engineer..."
          }
        ],
        "expectations": {
          "target_roles": ["ML Engineer", "AI Engineer"],
          "locations": ["London", "Manchester"],
          "p1_cities": ["London"],
          "requires_visa": true,
          "country": "gb"
        },
        "profile": "Experienced ML engineer with 5 years in NLP and computer vision..."
      }
    }
  }'

Response

{
  "scored_jobs": [
    {
      "title": "Senior ML Engineer",
      "company": "TechCorp",
      "location": "London",
      "match_score": 85,
      "role_match": 90,
      "skill_match": 88,
      "seniority_match": 80,
      "salary_match": 75,
      "location_priority": 95,
      "sponsor_match": 70
    }
  ],
  "stats": {
    "total": 1,
    "scored": 1,
    "failed": 0,
    "is_cached": false
  }
}

Score Dimensions

ScoreRangeDescription
match_score0-100Overall fit
role_match0-100Job title alignment with target roles
skill_match0-100Skills overlap with profile
seniority_match0-100Experience level alignment
salary_match0-100Salary vs. expectations
location_priority0-100Location preference match
sponsor_match0-100Visa sponsorship likelihood

Batch Mode

init_scoring

Initialize batch scoring by requesting a signed upload URL. Credits: Free (charged on score_jobs call)

Parameters

ParameterTypeRequiredDescription
job_countnumberYesNumber of jobs (1-500)
file_sizenumberYesFile size in bytes (100 - 5,242,880)
expectationsobjectYesSame as inline mode
profilestringNoCandidate profile (cached after first call)

Request

curl -X POST https://mcp.debytes.io/mcp \
  -H "Authorization: Bearer deb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "init_scoring",
      "arguments": {
        "job_count": 150,
        "file_size": 245000,
        "expectations": {
          "target_roles": ["ML Engineer"],
          "locations": ["London"],
          "requires_visa": true
        },
        "profile": "Experienced ML engineer..."
      }
    }
  }'

Response

{
  "upload_url": "https://storage.googleapis.com/...",
  "batch_id": "a1b2c3d4e5f6g7h8",
  "expires_in": 600,
  "content_type": "application/json"
}

Upload and Score

# 1. Upload jobs file to the signed URL
curl -X PUT \
  -H "Content-Type: application/json" \
  -H "Content-Length: 245000" \
  --data-binary @jobs.json \
  "UPLOAD_URL_FROM_INIT_SCORING"

# 2. Score the uploaded batch
curl -X POST https://mcp.debytes.io/mcp \
  -H "Authorization: Bearer deb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "score_jobs",
      "arguments": {
        "batch_id": "a1b2c3d4e5f6g7h8"
      }
    }
  }'

Batch Response

{
  "stats": {
    "total": 150,
    "scored": 148,
    "failed": 2
  },
  "download_url": "https://storage.googleapis.com/...",
  "expires_in": 3600
}
Download the scored results from download_url:
curl -o scored-results.json "DOWNLOAD_URL_FROM_RESPONSE"

Batch Limits

LimitValue
Max jobs per batch500
Max file size5 MB
Max concurrent batches3
Batch expiry30 minutes after creation