# SiteCheck Jobs & Property – Resume ATS Keyword Coverage Scorer

> SiteCheck Jobs & Property – Resume ATS Keyword Coverage Scorer is a paid API for AI agents from api.jobsproperty-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Compares a plain-text resume against a plain-text job ad to extract key terms, score keyword coverage (0–100), and list missing terms to add.

## Facts

- Endpoint: GET https://api.jobsproperty-api.workers.dev/api/jobs/cv-optimizer?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sitecheck-jobs-property-resume-ats-keyword-coverage-scorer-2f7d8f05
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VaRuyK44fBpx9BAJ8Eagw

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sitecheck-jobs-property-resume-ats-keyword-coverage-scorer-2f7d8f05
```

Example prompt: Can you check how well my resume matches this job description and tell me which keywords I'm missing? Here's my resume: 'Experienced data engineer with 5 years working on ETL pipelines, Python, and AWS...' And here's the job ad: 'We are looking for a Data Engineer skilled in Spark, Kafka, Airflow, and AWS...' Show me the coverage score and the top 20 terms to focus on.

## When to prefer this

Choose this endpoint when you need a fast, deterministic ATS-style keyword gap analysis between a resume and a job ad without AI rewriting or data storage. Ideal for agents helping users tailor resumes before applying, or for recruiters doing lightweight candidate screening. Prefer this over AI-based resume rewriters when the user wants transparency about which exact terms are missing and a reproducible numeric score, rather than a rewritten document.

## Known failure modes

- Missing 'resume' or 'job' query parameters returns an error
- Resume or job text exceeding character limits (6,000 / 4,000 chars) may be truncated or rejected
- Very short or generic job ads may yield few extractable terms and a low-signal score
- Non-English text may produce poor keyword extraction results
- Score reflects keyword coverage only — not experience relevance, truthfulness, or semantic similarity

## How this service works

Resume vs job-ad keyword check, the way applicant tracking systems screen: extracts the job ad's key terms (words and two-word phrases, weighted by frequency), shows which the resume already covers and which are missing, and gives a 0-100 coverage score and the top terms to add. Plain text analysis of the two texts you send; no AI rewriting and no data is stored.

## Output

Returns a JSON object with a 0–100 integer coverage score, an array of covered terms each with a frequency weight, an array of missing terms each with a frequency weight (sorted by importance), and a suggestions array with plain-English recommendations for which terms to add to the resume if applicable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "resume",
      "job"
     ],
     "properties": {
      "job": {
       "type": "string",
       "description": "Job ad plain text, up to 4,000 characters (required)"
      },
      "top": {
       "type": "string",
       "description": "How many job terms to score, 10 to 60 (default 30)"
      },
      "resume": {
       "type": "string",
       "description": "Resume / CV plain text, up to 6,000 characters (required; sent as a query parameter)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": "Keyword coverage only; it does not judge experience or truthfulness.",
  "score": 58,
  "covered": [
   {
    "term": "airflow",
    "weight": 1
   },
   {
    "term": "aws",
    "weight": 1
   }
  ],
  "missing": [
   {
    "term": "spark",
    "weight": 2
   },
   {
    "term": "kafka",
    "weight": 1
   }
  ],
  "suggestions": [
   "If true for you, mention \"spark\" in the resume.",
   "If true for you, mention \"kafka\" in the resume."
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sitecheck-jobs-property-resume-ats-keyword-coverage-scorer-2f7d8f05/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.jobsproperty-api.workers.dev](https://www.zero.xyz/host/api.jobsproperty-api.workers.dev/llms.txt)
