JSON-LD JobPosting Schema Builder

Generate job posting structured data for Google Jobs rich results

Build a valid JobPosting JSON-LD with title, description, employment type, salary range, job location, remote flag, hiring organization and validThrough date for eligibility in Google Jobs.

What is JobPosting structured data for?

It makes a job listing eligible for the Google Jobs experience, where roles appear in a dedicated search widget with filters for salary, location and type. This dramatically increases qualified applicant reach for free.

JobPosting markup for Google for Jobs

The JSON-LD JobPosting Schema Builder assembles the structured data Google needs to surface a role in its Jobs experience. Accurate markup puts your opening into a filterable widget at the top of search — one of the highest-leverage free recruiting channels.

How it works

The tool emits a JobPosting object with title, description, employmentType, datePosted and validThrough (ISO dates). The hiring company becomes a hiringOrganization of type Organization with optional logo and site URL. Salary is built as a baseSalary MonetaryAmount whose value is a QuantitativeValue carrying minValue, maxValue and unitText. The work location is a Place with a nested PostalAddress. Checking the remote box adds jobLocationType of TELECOMMUTE and an applicantLocationRequirements country object.

Tips and example

Always set validThrough to the application deadline so stale jobs drop out automatically. Use a salary unitText of HOUR, DAY, WEEK, MONTH or YEAR consistent with the figures you enter. A base-salary block looks like this:

"baseSalary": {
  "@type": "MonetaryAmount",
  "currency": "USD",
  "value": { "@type": "QuantitativeValue", "minValue": 80000, "maxValue": 110000, "unitText": "YEAR" }
}