Skip to content

AI APIs for ATS builders

On this page

This page is for product and engineering teams building recruiting software. Curriculo turns CVs, job requirements and interviews into structured, decision-ready data. You send a document or a recording; you get back clean fields, a fit score, a translation, a transcript or a hiring summary.

The API is not another dashboard your users must log into. Your product keeps candidate records, the job workflow and the recruiter UI. Curriculo does the AI, language and media work behind it, through one key from the Developer Console.

What the API does

CapabilityWhat you sendWhat you get back
Parse CVOne or more CVs (PDF or DOCX) in a single request.The full résumé as clean, structured data: name, contact details, work history, education, skills. Values stay in the CV's own language and script.
Evaluate candidateOne or more CVs (PDF or DOCX) and the job, as text, a document or a registered job_id.A suitability score with written reasoning, matched skills, gaps and summary points, for each CV.
TranslateUp to 200 strings, or PDF and DOCX documents.Translations in the order you sent them, into any of 85 languages. One failed item never collapses the batch.
Detect languageOne text, or up to 200.The language of each, so you can route a CV or message before acting on it.
Interview summaryA transcript, a transcript document (PDF or DOCX), or a recording (video or audio).Highlights, red flags, skills mentioned, and a recommendation with reasoning. Recordings come back with their transcript.
TranscribeA recording.The transcript only.
Résumé assistantA CV once, then plain-language instructions.A working résumé you can question, edit or render in another language without re-uploading.
Screening interviewCandidate emails, questions and your callback URL.Curriculo emails each candidate, hosts the recorded interview, transcribes each answer and POSTs it, signed, to your server.

Large backlogs and long recordings run as background tasks: send links or uploads, get a task_id at once, and collect the result by polling or by signed callback.

The API is not a second ATS. POST /jobs/ stores a job only as a description to evaluate CVs against. There is no listing, no pagination, no organisation and no pipeline.

Example ATS integration

StepYour systemCurriculo
1. Job contextStores the job, and registers it once with POST /jobs/ (free) or sends job_details inline.Uses it to score candidates.
2. IntakeSends CVs to /parse/ and /evaluate/, or links to /parse/async and /evaluate/async for a backlog.Returns structured CVs and evaluations, in order.
3. ScreeningCalls POST /screening-interview with candidate emails, questions and a callback_url.Sends invites, hosts the recording, transcribes answers.
4. ResultsVerifies X-Curriculo-Signature, then stores transcripts, evaluations and recording links.POSTs signed results as candidates finish.
5. InterviewsSends recordings or transcripts to /summary/.Returns highlights, red flags and a recommendation.

Multilingual by default

  • Send CVs in any language. Parsing and evaluation read the document as written, with no pre-processing on your side.
  • Nothing is silently rewritten. Parsed values come back in the CV's own language and script.
  • Choose the output language. Evaluation, interview summaries and the résumé assistant each accept a language setting.
  • Detect before you route. Branch a workflow before any human reads the document.

See Languages.

Getting started

  1. Create your account at console.curriculo.me. Sign-up is self-serve, and a $5.00 free credit covers your first calls.
  2. Generate an API key on the API keys page. It works immediately for every operation. The key is shown once, so store it somewhere safe.
  3. Try each capability from the interactive documentation with a real CV or transcript.
  4. Hand the key to your engineering team. Each capability is a single request, so integration is small and self-contained.

The full walkthrough is in the Quickstart.

Volume, speed and limits

WhatValueWhy it matters
Document sizeUp to 10 MBCovers essentially every real CV, including scanned and design-heavy ones.
CV processing time40 to 90 secondsReal AI analysis, not keyword matching. Treat it as a background job, not a page load.
ThroughputRoughly 2 to 4 CVs per minuteAn estimate. Heavy work runs three operations at a time on capacity shared across the service, so throughput varies with load.
Translation in one call200 strings, 50,000 charactersA full careers page or CV in a single request.
Interview transcripts200,000 charactersComfortably fits a long panel interview, verbatim.
RecordingsUp to 100 MB on a synchronous /summary/ upload; up to 1 GB or 2 hours by linkLong interviews go through the async lane.
Request rate600 requests per minute, per keyExceeding it returns 429.

See Rate limits and Batching.

What to expect operationally

  • Each request stands alone. One document failing never affects another, and re-sending a failed document is always safe.
  • Errors are explicit. A rejected request tells you why. See Errors.
  • Failed requests are not billed. Neither are failed background tasks or failed screening invites.
  • Usage is visible per key. Issue separate keys to separate environments or teams.
  • Know what is stored. Synchronous parse, evaluate, translate, detect-language, summary and transcribe calls keep nothing. Registered jobs, the résumé assistant, background tasks and screening interviews keep data. See Data handling.

Billing

Prepaid and per request, with no subscription: $0.01 for most operations, $0.001 for language detection, $0.002 per minute of audio for recordings, and $0.02 per screening invite sent. A list of CVs in one request is one charge. Full table in Pricing and billing.

Curriculo inside your AI assistant

Separately from the API, teams on Curriculo ATS can work their hiring pipeline from Claude, ChatGPT, Cursor and other clients. It is a different product with its own sign-in, and an API key does not reach its tools. See the MCP documentation.

Updated