A tool for making HTTP requests (cURL, Postman, or any HTTP client)
Tokens in your workspace — analyzing and matching are billable
This walkthrough consumes a handful of tokens (analyzing one CV and one job, then one match). Check your balance first, and top up in the Fribl Console if needed:
Submit one or more CVs for analysis. The inputs field accepts an array of CV text strings.
curl -X POST https://api-service.fribl.co/api/v1/cvs/analyze \ -H "x-api-key: your-api-key-here" \ -H "Content-Type: application/json" \ -d '{ "inputs": [ "John Doe\nSenior Software Engineer\n\nExperience:\n- Senior Software Engineer at Tech Corp (2020-2023)\n Led development of microservices architecture using Node.js and Python\n\n- Software Engineer at StartupCo (2017-2020)\n Built REST APIs and React frontends\n\nSkills: JavaScript, Python, React, Node.js, Docker, Team Leadership, Communication\n\nEducation:\n- MSc Computer Science, University of Amsterdam (2015-2017)\n\nLanguages: English (Native), Dutch (B2)" ] }'
import requestsresponse = requests.post( "https://api-service.fribl.co/api/v1/cvs/analyze", headers={ "x-api-key": "your-api-key-here", "Content-Type": "application/json" }, json={ "inputs": [ "John Doe\nSenior Software Engineer\n\nExperience:\n" "- Senior Software Engineer at Tech Corp (2020-2023)\n" " Led development of microservices architecture\n\n" "Skills: JavaScript, Python, React, Node.js, Docker\n\n" "Education:\n- MSc Computer Science, University of Amsterdam (2015-2017)" ] })data = response.json()["data"]cv_id = data["ids"][0]print(f"CV Task ID: {cv_id}")
Submit a job description for analysis using the same pattern.
curl -X POST https://api-service.fribl.co/api/v1/jobs/analyze \ -H "x-api-key: your-api-key-here" \ -H "Content-Type: application/json" \ -d '{ "inputs": [ "Senior Software Engineer\n\nWe are looking for a Senior Software Engineer to join our team in Amsterdam.\n\nRequirements:\n- 5+ years of experience with JavaScript and Python\n- Experience with React and Node.js\n- Knowledge of Docker and CI/CD\n- Strong communication and leadership skills\n- MSc in Computer Science or related field" ] }'
job_resp = requests.post( "https://api-service.fribl.co/api/v1/jobs/analyze", headers={"x-api-key": "your-api-key-here", "Content-Type": "application/json"}, json={ "inputs": [ "Senior Software Engineer\n\nRequirements:\n" "- 5+ years of experience with JavaScript and Python\n" "- Experience with React and Node.js\n" "- Strong communication and leadership skills\n" "- MSc in Computer Science or related field" ] })job_id = job_resp.json()["data"]["ids"][0]print(f"Job Task ID: {job_id}")
Poll POST /jobs/status for the job as well, using the same pattern as Step 2. Both the CV and job must reach COMPLETED before matching.