Add AI CV screening and candidate scoring to the system you already run. For larger agencies and corporates on Bullhorn, Salesforce, Vincere, or anything with an API.
Your ATS holds the records. What it does not do is read 200 CVs against a spec and tell you, with reasoning, which twelve deserve a human's time. Much of what lands in your inbox now was written by a model, and it all looks equally credible on paper. Aptly reads it properly, behind your existing screens, through a REST API.
Both modes authenticate with the same API key and share the same scoring engine. The difference is what gets written, and how long it lives.
Submit a job spec and up to 200 CVs in one request. Processing runs in the background. Pull results or receive them by webhook.
Each candidate comes back with a 0 to 100 score, a verdict, the specific reasons they fit, and the specific gaps to probe at interview. Structured JSON, ready to write into your own fields.
Nothing is stored beyond the job. Results are retained for 72 hours, then purged. Your ATS remains the system of record.
Push a job and its candidates from your ATS into Aptly. Your recruiters run screening, references, video introductions, and scorecards in Aptly, and you pull the intelligence back into your own records: scores, verdicts, reasoning, and artifact availability, keyed to your own ATS ids.
Records persist like any data created in the app.
Full reference for both modes in the API docs →
Every scored candidate returns the same predictable structure. No prompt engineering on your side required.
The things you check before you let a third party near your pipeline.
Every tier includes both modes. Unused CVs expire monthly. No rollover.
API plans require an active Aptly subscription. API access is enabled per organisation; email hello@aptly.pro and we will set you up, usually same day.
If something is not covered here, email us at hello@aptly.pro.
POST /api/v1/screen) writes nothing into your Aptly workspace, and results are purged after 72 hours. Integration sync (the /api/v1/ats/ endpoints) creates jobs, candidates, and applications in your workspace, which persist until deleted in the app.candidate_ref values must be unique per submission. Across separate requests to different jobs, the same ref is fine.webhook_url in your request, we POST the completed results to that URL when processing finishes. We retry 3 times with exponential backoff if your endpoint is unavailable.