JSON Resume to PDF Generator avatar

JSON Resume to PDF Generator

Pricing

from $0.37 / 1,000 generated pdfs

Go to Apify Store
JSON Resume to PDF Generator

JSON Resume to PDF Generator

Turn a JSON Resume into an ATS-ready PDF you can attach to job boards. Five print themes (Even, Elegant, Stack Overflow, Kendall, Flat), A4 or US Letter, and a download URL. Open-standard JSON — no $49/month resume API. Paste resume.json, pick a theme, generate PDFs via API or Console.

Pricing

from $0.37 / 1,000 generated pdfs

Rating

0.0

(0)

Developer

rainminer

rainminer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

JSON Resume in. ATS-ready PDF out. Call it as a resume generation API on Apify: pick a print theme, choose A4 or Letter, and download a file you can attach to a job board. No $49/month seat. No proprietary schema. No live link that an ATS cannot open.

Paste a JSON Resume (or start from the Alex Rivera sample on the Input tab), choose a theme, run.

Even JSON Resume PDF template
Even
Default · two-column
Elegant JSON Resume PDF template
Elegant
Card layout
Stack Overflow JSON Resume PDF template
Stack Overflow
Classic SO CV
Kendall JSON Resume PDF template
Kendall
Bootstrap · photo header
Flat JSON Resume PDF template
Flat
Minimal single column

What is JSON Resume to PDF?

JSON Resume to PDF is a JSON-to-PDF resume API. It takes a JSON Resume 1.0.0 document, renders it with a community jsonresume-theme-* package, waits for fonts, and prints a PDF. The file lands in the run's Key-Value Store; the dataset row has the download URL.

You do not write HTML or CSS. You do not host a resume website. You keep one structured resume, tailor the JSON for each job, and generate a new PDF.

What you get

  • Five print templates — Even, Elegant, Stack Overflow, Kendall, and Flat (the most-used JSON Resume themes on npm)
  • Open standard inputbasics, work, education, skills, projects, … not a vendor-only JSON shape
  • A4 or US Letter — the two paper sizes job boards actually want
  • A real fileapplication/pdf in storage, with a pdfUrl you can fetch from any language
  • Apify platform — API, schedules, webhooks, integrations, run logs, pay per generated PDF plus platform usage

Products like LiveResume argue that a PDF is a dead snapshot. For a personal site that can be true. For job applications it is not:

  • Most ATS and company portals still ask for a PDF or DOCX attachment. A live URL is optional, extra, or blocked.
  • Recruiters forward files. They do not re-open your hosted editor.
  • You often want a snapshot: the version you sent for that posting, with that title and those highlights.

Keep a live page if you like. Use this Actor for the file you actually submit.

JSON Resume API vs hosted resume generators

UseResume's resume generation API is a hosted SaaS: proprietary content + style JSON, many color variants, cover letters, $49/month. Fine if you want that bundle.

JSON Resume to PDF is the other trade: portable JSON Resume, themes you can also render locally with resume-cli, and Apify compute instead of a monthly API seat.

JSON Resume to PDFHosted resume API ($49/mo class)Live-link resume
InputJSON Resume (open)Vendor content + styleWYSIWYG editor
OutputPDF you own in Key-Value StoreHosted PDF downloadLive URL (PDF export extra)
Templates5 npm print themes20–30 in-house layoutsSite theme
Paper sizeA4 or LetterStyle objectLimited
Job boards / ATSAttach the PDFAttach the PDFLink often rejected
PricingPer PDF + Apify usageMonthly platform fee + creditsSaaS subscription
Automationapify-client, schedules, webhooksREST + vendor SDKUsually none

Who uses a JSON Resume PDF API?

Named jobs this Actor is built for:

  1. Software engineers on Greenhouse / Lever — keep one resume.json, rewrite summary and work[].highlights per posting, print a PDF to upload.
  2. Career coaches producing client resumes — same schema for every client; swap theme and paper size instead of rebuilding Word files.
  3. Recruiting agencies batching candidate PDFs — call the Actor from a pipeline whenever a candidate record changes.
  4. Job-search agents — an LLM rewrites highlights against a job description, then this Actor prints the file.
  5. Bootcamps exporting student resumes — one JSON Resume per graduate, Even or Flat theme, Letter for US employers.
  6. ATS-safe Flat theme runs — picky portals that mangle two-column layouts; generate a second PDF with Flat and compare.
  7. US Letter for American job boards — LinkedIn Easy Apply, Workday, and most US ATS expect Letter.
  8. A4 for EU / UK applications — the default paper size for European employers.
  9. Engineering CVs on the Stack Overflow theme — compact sections and skill tags that scan like the classic SO CV.
  10. HR tools that already store JSON Resume — add a print step without adopting a vendor schema.
  11. Portfolio sites that still need an attachment — keep the live page; generate the PDF the application form requires.
  12. Multiple roles from one source of truth — duplicate JSON per title (backend, staff, manager) and print each version.

How to generate a resume PDF from JSON

  1. Open the Input tab. Start from the prefilled Alex Rivera sample or paste your resume.json.
  2. Tailor basics.summary, the relevant work[].highlights, and skills to the job description.
  3. Pick a theme. Even is the default (same family as the official resume CLI).
  4. Set paper size to A4 or Letter.
  5. Run. Download from the Key-Value Store or the dataset pdfUrl.
  6. Duplicate the JSON for the next posting and run again.

Anyone who can edit JSON can use this. There is no login to a resume host.

Resume generation API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('rainminer/json-resume-to-pdf').call({
resume: {
basics: {
name: 'Alex Rivera',
label: 'Staff Product Engineer',
email: 'alex.rivera@example.com',
summary: 'Product engineer focused on search and marketplace hiring tools.',
},
work: [
{
name: 'Northwind Labs',
position: 'Staff Product Engineer',
startDate: '2021-03-01',
highlights: ['Cut time-to-shortlist from 9 days to 3.'],
},
],
},
theme: 'even',
format: 'Letter',
printBackground: true,
});
const item = (await client.dataset(run.defaultDatasetId).listItems()).items[0];
const pdf = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord(item.fileName);
// pdf.value is the PDF bytes

Python, PHP, and curl work the same way against the Apify Actors API. Need a generic HTML page instead of a resume? Use HTML to PDF.

Resume templates (JSON Resume themes)

The Actor ships the five most-installed jsonresume-theme-* packages. Previews above use the same sample resume as the Input tab.

ThemeBest for
EvenDefault two-column. General engineering and product resumes.
ElegantCard layout, contact header. More designed, still professional.
Stack OverflowClassic SO CV: compact sections, skill tags, easy to scan.
KendallBootstrap layout; photo header when basics.image is set.
FlatMinimal single column. Fewest visual flourishes; safest for picky ATS.

Some themes honor JSON Resume meta options (for example Even's meta.themeOptions.colors). See each theme's npm page. This Actor does not add extra color pickers.

Input

Open the Input tab for the full editor. Fields:

FieldWhat it is
resumeJSON Resume object (basics, work, education, skills, projects, …)
themeeven (default), elegant, stackoverflow, kendall, or flat
fileNameOptional Key-Value Store key. Defaults to pdf-{name}-{theme}.pdf
formatPaper size: A4 (default) or Letter
printBackgroundInclude CSS backgrounds (default true)

Example:

{
"resume": {
"basics": {
"name": "Alex Rivera",
"label": "Staff Product Engineer",
"email": "alex.rivera@example.com",
"summary": "Product engineer focused on search and marketplace hiring tools."
},
"work": [
{
"name": "Northwind Labs",
"position": "Staff Product Engineer",
"startDate": "2021-03-01",
"highlights": ["Cut time-to-shortlist from 9 days to 3."]
}
]
},
"theme": "even",
"format": "A4",
"printBackground": true
}

The schema follows JSON Resume 1.0.0. Extra fields are ignored. basics.name is required. Empty sections are omitted by the theme.

Output

The PDF is stored in the default Key-Value Store. The dataset has one row with the download link:

{
"fileName": "pdf-alex-rivera-even.pdf",
"pdfUrl": "https://api.apify.com/v2/key-value-stores/{storeId}/records/pdf-alex-rivera-even.pdf",
"key": "pdf-alex-rivera-even.pdf",
"bytes": 42104,
"theme": "even",
"candidateName": "Alex Rivera",
"label": "Staff Product Engineer",
"format": "A4"
}

JSON / CSV / Excel exports of the dataset are metadata, not the PDF bytes. Use pdfUrl or the Key-Value Store for the resume.

Unnamed run storage on Apify expires after 7 days. Save the PDF if you need it longer, or copy it to your own store from the API.

How much does a resume PDF cost?

This Actor is pay-per-event. You pay a small fee per generated PDF plus Apify platform usage (compute for the Chrome print). There is no $49/month resume-API plan.

Each run is a short print: one HTML document, CDN fonts, one PDF. A single resume usually finishes in well under a minute on 1 GB of memory. Generate a few sample PDFs on the free tier to see compute cost for your typical resume length. Batch jobs (many tailored resumes) are a good fit for Actor tasks and schedules.

FAQ

Is this a resume parser? No. Parsers turn PDF into JSON. This Actor goes the other way: JSON Resume in, PDF out.

Do I need to host my resume on jsonresume.org? No. Paste the JSON in input. Any valid JSON Resume document works.

Will Applicant Tracking Systems read the PDF? Themes are HTML/CSS print layouts. Even and Flat are the most conventional. If a specific ATS mangles icons, generate a second PDF with Flat and compare.

Can I change colors? Some themes honor JSON Resume meta options. The Actor does not add extra color inputs.

Does this replace UseResume or LiveResume? No. UseResume bundles cover letters, parsing, and AI tailoring in one paid API. LiveResume is a hosted live profile with analytics. This Actor is the print step: open JSON in, PDF file out, on Apify.

Is it legal to store resumes here? You send your own (or your client's) resume data to a run you control. Treat the JSON as personal data: do not put other people's resumes into public shared runs. Follow GDPR and local employment rules for any data you keep.

Where do I get help? Open an issue on the Actor page. Feature ideas (more themes, job-description tailoring) are welcome.

Image Credit

Theme previews are generated from the sample JSON Resume using jsonresume-theme-even, jsonresume-theme-elegant, jsonresume-theme-stackoverflow, jsonresume-theme-kendall, and jsonresume-theme-flat. Sample candidate data is fictional.