Skip to content

API overview

On this page

The Curriculo API is a RESTful API at https://api.curriculo.me/public that gives programmatic access to the same résumé, evaluation, language and interview engines that run inside the Curriculo product. Requests are JSON or multipart/form-data; responses are JSON.

New to Curriculo? Start with the Quickstart: create an account, issue a key and make one call.

Prerequisites

Available APIs

APIOperationWhat it doesPrice
ParsePOST /parse/Read CVs (PDF or DOCX) into structured JSON.$0.01 per request
EvaluatePOST /evaluate/Score CVs against a job: suitability, fit analysis, gaps.$0.01 per request
JobsPOST /jobs/Optional. Register a job description once and reuse its job_id.Free
TranslatePOST /translate/Translate strings or PDF and DOCX documents.$0.01 per request (see pricing)
Detect languagePOST /detect-language/ISO 639-1 code for one text or up to 200.$0.001 per request
Interview summaryPOST /summary/Highlights, red flags, skills and a hire recommendation from a transcript or recording.$0.01, plus $0.002 per minute for recordings
TranscribePOST /transcribe/Transcript of a recording, no summary.$0.002 per minute
PromptPOST /prompt/Generate, edit, translate or question the résumé pinned to your credential. Stateful.$0.01 per request
Screening interviewPOST /screening-interviewHosted, recorded screening interviews with signed callbacks.$0.02 per invite sent

Background tasks

Parse, evaluate, summary, transcribe and translate also run in the background: POST /{op}/async answers 202 with a task_id at once, and you collect the result with GET /{op}/tasks/{task_id} or receive it by signed callback. See Background processing and callbacks.

Paths

Synchronous operations end in a trailing slash (/parse/). Background task paths (/parse/async, /parse/tasks/{task_id}) and screening paths (/screening-interview) are documented without one.

For the complete specification, see the OpenAPI document, or browse it in Swagger UI or ReDoc.

Authentication

HeaderValueRequired
AuthorizationBearer key_<id>_<secret>, your Console API keyYes
Content-Typeapplication/json or multipart/form-data, depending on the operationYes, on requests with a body

One Console key authorises every operation, immediately. There are no per-endpoint credentials, no scopes and nothing to enable. See Authentication.

There is no API version header. The surface is versioned by path, and additive changes (new optional fields, new operations) ship without breaking existing calls.

Base URL

https://api.curriculo.me/public

Point your client at that base and append the operation path, for example https://api.curriculo.me/public/parse/.

  • One credential everywhere. A single Console key authenticates every operation.
  • Limits enforced per key, so one noisy integration cannot spend another's budget.
  • Failed requests are never charged. A 4xx or 5xx costs you nothing.

Production is the only published environment.

Request and response format

See Requests and responses. The short version:

  • /parse/, /evaluate/, /prompt/ and /transcribe/ take multipart/form-data.
  • /detect-language/ and /jobs/ take application/json.
  • /translate/ and /summary/ take application/json, or multipart/form-data to send documents or recordings.
  • One document can be up to 10 MB. A request body can be up to 12 MB, except /summary/, which accepts recordings up to 100 MB.
  • Send one item, get that item's object. Send several, get the results in input order.

Batching

There is no separate batch endpoint: the list is the batch. Up to 10 documents per request for parsing and evaluation, up to 200 texts for translation and language detection. See Batching.

Rate limits

LimitValue
Per API key600 requests per minute
Per IP address2,000 requests per minute
Heavy work (parse, evaluate, summary)3 operations at a time, shared across the service; extra requests queue
Request timeout300 seconds

See Rate limits.

Errors

Errors are JSON and carry the HTTP status that matters. Every response carries an X-Curriculo-Request-Id header to quote to support. See Errors.

Managing your account

Keys, usage and billing are managed in the Developer Console. Your API key does hiring work. It deliberately cannot mint keys or change billing, so a leaked key can never escalate into account control.

Next steps

Updated