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.
| Property | Type | Description |
|---|---|---|
titlerich result | string | The job title. Avoid non-standard titles. |
descriptionrich result | HTML string | Full job description. HTML is allowed. |
hiringOrganizationrich result | Organization | The company offering the job. Must include name. |
jobLocationrich result | Place | Location of the job. Include address. |
datePostedrich result | ISO 8601 date | The date the job was posted. |
Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.
| Property | Type | Description |
|---|---|---|
validThrough | ISO 8601 datetime | The date the job posting expires. |
employmentType | string | Employment type: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER. |
baseSalary | MonetaryAmount | Salary range. Include minValue, maxValue, currency, and unitText (HOUR, WEEK, MONTH, YEAR). |
jobLocationType | string | Set to TELECOMMUTE for remote work. |
applicantLocationRequirements | AdministrativeArea | Geographic restrictions for remote roles. |
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.
{
"@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 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"}}}}'100 free validations/month. No credit card required.