open.rooster.cv/0.1

Think of it as HTTP for hiring data

Traditional resumes are written for printers, then awkwardly parsed back into databases — and locked inside whichever platform you built them on. open.rooster.cv flips that around: applicants provide clean, consent-aware data once, and any conforming system can render or import it. The data belongs to the applicant, and it gets more useful as more tools adopt the standard. It has a companion for the other side of the match: open.rooster.jobs, the open job-posting standard.

{
  "protocol": { "name": "open.rooster.cv", "version": "0.1" },
  "profile": {
    "identity": { "displayName": "Maya Chen" },
    "work": [{ "employer": "Northstar Apps", "title": "Analyst" }]
  },
  "consent": { "purpose": "job_application" },
  "metadata": { "language": "en-US" }
}

Why a structured resume?

One schema, many tools

A single JSON Schema describes identity, experience, education, skills, preferences, and consent — so any conforming tool can read or render it.

Consent-aware by design

Every document carries purpose, scope, retention, and revocation, so employers and platforms know exactly how data may be used.

No vendor lock-in

Career data belongs to the applicant. The protocol is open and portable, not tied to any single ATS or resume builder.

ATS-friendly ingestion

Structured data removes brittle PDF parsing. Applicant tracking systems can import clean fields directly.

Validated end to end

AJV-based validation against open.rooster.cv/0.1 guarantees documents are well-formed before they are submitted.

Extensible

An extensions mechanism lets domains (academic, government, healthcare) add fields without breaking the core.

Why adopt now: agents are here

Roughly a third of active job seekers already use AI agents to search and apply — and today those agents scrape brittle HTML and re-parse PDFs, because hiring never had a data layer. Open, validated JSON on both sides of the match is what makes hiring machine-readable without giving up human review. Interop, not rivalry: open.rooster.cv converts losslessly to and from JSON Resume, and open.rooster.jobs serializes to schema.org JobPosting — adopters give up nothing.

HR departments

Ask your job boards and ATS vendors for open.rooster.jobs feeds and open.rooster.cv import. Structured, consent-aware data means cleaner pipelines, less parsing loss, and machine-readable vacancy-status disclosure as ghost-job regulations arrive.

Convert a posting in 2 minutes →

Job boards & aggregators

Serve one clean feed instead of being scraped a hundred ways. Every document maps to schema.org JobPosting, so Google-for-Jobs traffic is untouched — agents and aggregators are pure upside.

See the serialization mapping →

Agent & tool builders

Stop scraping. Consume company feeds at /api/feeds/{company}, validate over the public API, and build against stable schemas with reference code in the open-rooster org.

Schemas & reference code →

For developers

Build importers, exporters, and integrations against a stable JSON Schema. Validate with any JSON Schema 2020-12 validator — or ours, over the public API (/api/validate/cv, /api/validate/jobs). Adopt the extensions mechanism for your domain-specific fields.

Integration guides →

For HR teams

Receive structured, consent-aware applications you can ingest directly into your systems — no scraping, no lost fields. Pair it with our matching tools to find candidates faster.

See the HR platform →