public-ats-score

Anonymous ATS score (pre-auth lead magnet, paste text)

Returns a top-line ATS compatibility score (0-100) plus the top 3 matching and missing keywords for an unauthenticated visitor. Uses ONLY free-tier OpenRouter models. Rate-limited 10/hour per IP. The full gap analysis, rewrite suggestions, and keyword strategy are intentionally NOT returned here - they remain behind the email-gate / signup wall.

post/public/ats-score

Request

  • Base URL: https://api.aiapplyd.com/api/v1
  • URL: https://api.aiapplyd.com/api/v1/public/ats-score
  • Auth: HTTP bearer

Request body

jobDescriptionstring

Optional job description text. When omitted the score is generic ATS compatibility only.

resumeTextstring required

Plain-text resume content. The web client extracts this from PDF/DOCX uploads via the bundled unpdf/docx parsers before calling this endpoint, OR sends pasted text directly.

Example request

{
  "jobDescription": "We are looking for a senior backend engineer with 5+ years of TypeScript and PostgreSQL experience...",
  "resumeText": "Jane Doe - Senior Software Engineer\n\nExperience\n- Built distributed systems at Acme Corp..."
}

Response

Top-line ATS score with limited keyword preview

successtrue required

Example response

{
  "data": {
    "matchingKeywords": [
      "TypeScript",
      "React",
      "Node.js"
    ],
    "missingKeywords": [
      "GraphQL",
      "CI/CD",
      "Kubernetes"
    ],
    "modelName": "nvidia/nemotron-3-nano-30b-a3b:free",
    "overallScore": 72,
    "resumeHash": "3f4c7a8e1b2d5f6a"
  },
  "meta": {
    "duration": 150,
    "requestId": "req_abc123",
    "timestamp": "2026-10-13T10:27:20.268Z",
    "version": "v1"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.