Stackwright is a REST API that scores developer resumes against your job description in under 2 seconds — structured JSON with fit score, strengths, gaps, and per-skill evidence. Drop into your ATS in an afternoon.
REST API · ~200ms cached / ~2s live · 3 endpoints · Free tier, no credit card
Built for teams using
How it works
Drop into your existing ATS workflow. No models to train, no infrastructure to manage. Paste a key and call the API.
POST the raw resume text and job description to /api/v1/score-resume. Pass your API key in the X-API-Key header. That's the entire setup.
The API returns a structured JSON assessment: a 0–100 fit score, candidate strengths and gaps relative to the JD, per-skill evidence, and a plain-English recommendation. Results are deterministically cached — identical inputs always return the same score instantly.
Pass the job description (and optionally the resume) to /api/v1/generate-questions. Get role-specific technical, behavioral, and system design questions — each with evaluation criteria and follow-ups.
Ashby webhook support is in development. When a candidate applies, Stackwright scores them automatically and writes the result back to their Ashby profile — no manual API calls, no copy-paste. The hiring team sees fit scores inside the ATS they already use.
Paste a resume and job description. See the analysis in seconds. Using the free demo key — no signup required.
All endpoints return JSON. All errors include a machine-readable error code. Base URL: https://stackwright.polsia.app
X-API-Key header on all requests.
Free tier: 10 requests/day. Pro tier: unlimited.
Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
| Parameter | Type | Required | Description |
|---|---|---|---|
| resume_text | string | required | Full text of the candidate's resume. Min 50 chars. Truncated at 8000. |
| job_description | string | required | Full text of the job description. Min 30 chars. Truncated at 4000. |
| Field | Type | Description |
|---|---|---|
| fit_score | integer | 0–100. 85+ = strong hire. 70–84 = interview. Below 55 = significant gaps. |
| strengths | string[] | Specific strengths evidenced in the resume relative to the JD. |
| gaps | string[] | Missing skills or experience relative to the JD requirements. |
| skill_matches | object[] | Per-skill breakdown: {skill, level: strong|partial|missing, evidence} |
| experience_alignment | string | Narrative assessment of career trajectory fit. |
| overall_assessment | string | Executive summary and hiring recommendation. |
| processing_time_ms | integer | Time to generate assessment in milliseconds. |
| cached | boolean | True if result was returned from cache (identical inputs seen before). |
{total_assessments, avg_fit_score, avg_processing_time_ms}. No authentication required.
Free tier for evaluation. Pro for production ATS integrations. Simple, transparent pricing.
Join the waitlist. We'll send your production key within 24 hours.
Free tier ships immediately.