cv.json — Open CV Standard for the AI Era, JSON career data flowing to AI recruiting agents

The Problem: 75% of CVs Get Mangled by Machines

Every day, millions of job seekers upload their CVs as PDFs. These files then get fed into Applicant Tracking Systems — software that tries to extract your name, your job title, your skills, and your experience from what is essentially a picture of text.

The result? Studies show that ATS parsers fail on up to 75% of non-standard CV formats. Your name becomes your address. Your job title merges with a date. Your carefully organized skills section turns into alphabet soup.

This isn't a minor inconvenience. It's a systemic failure. Qualified candidates get rejected because a machine couldn't parse a PDF. And with AI recruiting agents entering the market in 2025–2026 — autonomous systems that search, filter, and rank candidates — the problem is about to get exponentially worse.

These AI agents need structured data. Not PDFs. Not Word documents. Not screenshots. Structured, typed, machine-readable JSON.

The Solution: cv.json

Today we're launching cv.json — an open standard for career data that gives every professional a machine-readable endpoint for their CV.

The idea is simple:

  • One JSON file that contains your entire career: work, education, skills, projects, certifications, languages
  • One URL that always returns the latest version: freecv.org/p/yourname/cv.json
  • One schema that any platform can validate against: freecv.org/schema/cv/v1.json

No API key. No authentication. No SDK. Just a GET request that returns structured career data.

💡 Think of it like robots.txt for careers. Just as robots.txt tells search engines how to crawl a website, cv.json tells AI agents and ATS systems exactly what your career looks like — no guessing, no parsing, no errors.

What Makes cv.json Different

Structured career data isn't a new idea — there have been attempts before. But they were designed for a different era. cv.json is built for 2026, where AI recruiting agents autonomously search, filter, and rank candidates. The standard includes fields that previous formats never considered:

availability

Machine-readable "Open to Work." An AI agent can query your endpoint and instantly know: are you looking, what roles you want, where you'll work (remote/hybrid/onsite), and when you can start. LinkedIn's green badge is nice. A structured JSON object is actionable.

ats

Pre-parsed ATS metadata auto-generated from your CV data. Keywords, years of experience, seniority level, highest education — all computed so the receiving system doesn't have to guess.

verification

Trust signals. Is the email verified? Was this generated by a known platform? As AI agents start autonomously sourcing candidates, knowing that a cv.json comes from a verified source matters.

The "Live" URL Pattern

This might be the most important innovation. Most career data standards produce static files. You export a JSON file, upload it somewhere, and forget about it. Three months later your CV is outdated but the file is still being served.

cv.json is served from a live endpoint. Update your CV in the builder, and the next time anyone fetches your cv.json, they get the latest version. No re-exporting. No re-uploading. It's always current.

Privacy by Design

We built this with a controversial (but correct) default: cv.json is off by default.

When you create a portfolio on FreeCV, your cv.json endpoint returns 404 until you explicitly enable it. Even when you do enable it, your phone number and email are hidden by default — you have to opt in to include them.

This isn't a PR stunt. Publishing a portfolio page is one thing. Making your career data machine-readable and bulk-scrapable is a fundamentally different level of exposure, and the user should consciously choose it.

You control everything from your dashboard: what's included, what's hidden, whether the endpoint is live at all. You can turn it off with one click, and your cv.json immediately returns 404.

How to Get Your cv.json

Three options:

  1. Build and publish: Create a CV in the FreeCV builder, claim a portfolio slug, and enable cv.json from your dashboard. Your endpoint goes live immediately.
  2. Export only: Build a CV and click the {} cv.json button in the download menu. You get a downloadable file without publishing anything online.
  3. Self-host: The JSON Schema is open. Generate cv.json files with your own tools, validate them against our schema, and host them wherever you want.

For Developers

If you build ATS tools, recruiting platforms, or AI agents — here's how to consume cv.json:

# Fetch career data
curl https://freecv.org/p/ashley/cv.json

# Discover cv.json from any portfolio page
# Look for: <link rel="alternate" type="application/json" href="..." />

# Validate against schema
# Schema: https://freecv.org/schema/cv/v1.json

# CORS: enabled (Access-Control-Allow-Origin: *)
# Cache: 5 minutes (Cache-Control: public, max-age=300)
# Version: X-CV-Version header

Full documentation, schema, and examples are at freecv.org/open.

What's Next

This is v1.0. We're actively working on:

  • Online validator — paste any cv.json URL and check it against the schema instantly
  • Import support — bring your cv.json into FreeCV and we populate the builder automatically
  • Multi-language — serve different translations of your CV from the same endpoint
  • Webhooks — notify subscribed systems when your CV updates

We believe structured career data should be open, portable, and owned by the individual. cv.json is our contribution to making that happen.

Get Started

Build your CV, enable cv.json, and get a live endpoint in under 5 minutes.

Build My cv.json Free →

About the Author

Ahmed Shanti is a co-founder of FreeCV, used by job seekers in 180+ countries. He builds tools that make career data open, portable, and bias-free.