Job Schema Markup Guide

JobPosting schema markup enables Google for Jobs — a rich job search experience integrated directly into Google Search. Valid JobPosting structured data can display your job listing with title, company, location, salary, and application deadline in Google's job search results. This is essential for any site that posts job listings, whether a company career page or a job board.

Required Properties

PropertyTypeDescription
titlerich result
stringThe job title. Avoid non-standard titles.
descriptionrich result
HTML stringFull job description. HTML is allowed.
hiringOrganizationrich result
OrganizationThe company offering the job. Must include name.
jobLocationrich result
PlaceLocation of the job. Include address.
datePostedrich result
ISO 8601 dateThe date the job was posted.

Recommended Properties

Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.

PropertyTypeDescription
validThrough
ISO 8601 datetimeThe date the job posting expires.
employmentType
stringEmployment type: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER.
baseSalary
MonetaryAmountSalary range. Include minValue, maxValue, currency, and unitText (HOUR, WEEK, MONTH, YEAR).
jobLocationType
stringSet to TELECOMMUTE for remote work.
applicantLocationRequirements
AdministrativeAreaGeographic restrictions for remote roles.

Rich Result Eligibility

Rich result type: Google for Jobs listing

Requirements: Required: title, description (HTML allowed), hiringOrganization (with name), jobLocation (Place with address), and datePosted. directApply can increase visibility.

Example valid JobPosting JSON-LD

{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Senior Software Engineer",
  "description": "<p>Join our team as a Senior Software Engineer. You will design and build scalable backend systems.</p><ul><li>5+ years of experience with TypeScript or Go</li><li>Experience with cloud infrastructure (AWS/GCP)</li></ul>",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "Acme Corporation",
    "sameAs": "https://example.com",
    "logo": "https://example.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "100 Innovation Drive",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "postalCode": "78701",
      "addressCountry": "US"
    }
  },
  "datePosted": "2026-03-18",
  "validThrough": "2026-06-30",
  "employmentType": "FULL_TIME",
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 140000,
      "maxValue": 180000,
      "unitText": "YEAR"
    }
  }
}

Validate via API

Validate this schema against Google's requirements in one API call:

curl "https://schemacheck.dev/api/v1/validate" \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonld":{"@context":"https://schema.org","@type":"JobPosting","title":"Senior Software Engineer","description":"<p>Join our team as a Senior Software Engineer. You will design and build scalable backend systems.</p><ul><li>5+ years of experience with TypeScript or Go</li><li>Experience with cloud infrastructure (AWS/GCP)</li></ul>","hiringOrganization":{"@type":"Organization","name":"Acme Corporation","sameAs":"https://example.com","logo":"https://example.com/logo.png"},"jobLocation":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"100 Innovation Drive","addressLocality":"Austin","addressRegion":"TX","postalCode":"78701","addressCountry":"US"}},"datePosted":"2026-03-18","validThrough":"2026-06-30","employmentType":"FULL_TIME","baseSalary":{"@type":"MonetaryAmount","currency":"USD","value":{"@type":"QuantitativeValue","minValue":140000,"maxValue":180000,"unitText":"YEAR"}}}}'

Official Documentation

Google Structured Data: JobPosting

Validate your JobPosting schema now

100 free validations/month. No credit card required.