CV Parser
Read a CV from a PDF, file or text: name, contact details, experience, education, skills and certifications.
resume-parse Example
{
"name": "John Smith",
"email": null,
"phone": null,
"skills": [
"Python",
"SQL"
],
"summary": null,
"website": null,
"linkedin": null,
"location": null,
"education": [],
"languages": [],
"experience": [],
"certifications": [],
"total_experience_years": 0
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
text | string | No | — |
base64 | string | No | — |
pdf_url | string | No | — |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
name | string | Always (present in every successful answer) |
skills | array | Always (present in every successful answer) |
education | array | Always (present in every successful answer) |
experience | array | Always (present in every successful answer) |
total_experience_years | number | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "resume-parse",
"inputs": {
"text": "Jane Doe\[email protected] | +1 555-0100\nSoftware Engineer with 5 years experience in TypeScript and Node.js.\n\nExperience:\nSenior Developer, Acme Corp 2020-2024\n- Built REST APIs using Node.js\n- Led team of 3 engineers\n\nEducation:\nB.Sc. Computer Science, Uppsala University 2019\n\nSkills: TypeScript, Node.js, PostgreSQL, Docker"
},
"max_price_cents": 30
}' {
"tool": "strale_execute",
"arguments": {
"slug": "resume-parse",
"inputs": {
"text": "Jane Doe\[email protected] | +1 555-0100\nSoftware Engineer with 5 years experience in TypeScript and Node.js.\n\nExperience:\nSenior Developer, Acme Corp 2020-2024\n- Built REST APIs using Node.js\n- Led team of 3 engineers\n\nEducation:\nB.Sc. Computer Science, Uppsala University 2019\n\nSkills: TypeScript, Node.js, PostgreSQL, Docker"
},
"max_price_cents": 30
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "resume-parse",
inputs: {
"text": "Jane Doe\[email protected] | +1 555-0100\nSoftware Engineer with 5 years experience in TypeScript and Node.js.\n\nExperience:\nSenior Developer, Acme Corp 2020-2024\n- Built REST APIs using Node.js\n- Led team of 3 engineers\n\nEducation:\nB.Sc. Computer Science, Uppsala University 2019\n\nSkills: TypeScript, Node.js, PostgreSQL, Docker"
},
max_price_cents: 30,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="resume-parse",
inputs={
"text": "Jane Doe\[email protected] | +1 555-0100\nSoftware Engineer with 5 years experience in TypeScript and Node.js.\n\nExperience:\nSenior Developer, Acme Corp 2020-2024\n- Built REST APIs using Node.js\n- Led team of 3 engineers\n\nEducation:\nB.Sc. Computer Science, Uppsala University 2019\n\nSkills: TypeScript, Node.js, PostgreSQL, Docker",
},
max_price_cents=30,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/resume-parse \
-H 'Content-Type: application/json' \
-d '{
"text": "Jane Doe\[email protected] | +1 555-0100\nSoftware Engineer with 5 years experience in TypeScript and Node.js.\n\nExperience:\nSenior Developer, Acme Corp 2020-2024\n- Built REST APIs using Node.js\n- Led team of 3 engineers\n\nEducation:\nB.Sc. Computer Science, Uppsala University 2019\n\nSkills: TypeScript, Node.js, PostgreSQL, Docker"
}' Limitations
Complex CV layouts can lose structure
AI parsing of resume/CV content — non-standard layouts, multi-column designs, or heavily formatted PDFs may lose structure
What to do instead: For best results, accept resumes in standard single-column formats or plain text alongside the PDF
Input documents are limited to 8 MiB decoded
Documents supplied by URL or base64 are refused above 8 MiB of decoded data, with a caller_input error naming the input field and no charge. Reduce the document size or split it before submitting.
Bundled checks that include it
- HR Candidate Screening €0.80
Related tools
- Contract Extraction €0.50
- Meeting Notes Extraction €0.20
- Receipt Categorisation €0.05