JobPosting is a Schema.org structured data type used to markup an employment listing, providing search engines with explicit, machine-readable details about a hiring organization, job location, employment type, and base salary. It is the required schema for inclusion in Google's dedicated job search experience, enabling rich result displays that surface critical information directly to candidates.
Glossary
JobPosting

What is JobPosting?
A structured data vocabulary for defining employment listings with machine-readable precision.
Proper implementation requires nesting several dependent types, including MonetaryAmount for salary specification and Place for geographic location. Google mandates specific properties—datePosted, hiringOrganization, title, and validThrough—and enforces strict guidelines against indexing expired or misleading listings, making accurate markup essential for algorithmic trust and visibility in the job-seeking ecosystem.
Key Features of JobPosting Schema
The JobPosting schema type enables search engines to parse and display job listings with rich attributes, making them eligible for Google's dedicated job search experience.
Base Salary Requirement
Google requires the baseSalary property for job listings to appear in its job search experience. This structured field must specify:
- A
value(numeric or range) - A
currencycode (ISO 4217, e.g., USD) - A
unitTextindicating the pay period (HOUR, MONTH, YEAR)
Without valid salary data, the listing is ineligible for enhanced display in Google for Jobs.
HiringOrganization Entity
The hiringOrganization property links the job to an Organization entity, which should be a fully defined object rather than a plain string. Best practices include:
- Providing the organization's
nameandsameAsURL to a canonical profile (e.g., LinkedIn, Crunchbase) - Including the company
logofor brand recognition in search results - Nesting the organization's address if the job is at a specific office
This entity linkage strengthens the employer's presence in the Knowledge Graph.
EmploymentType Classification
The employmentType property categorizes the role using a controlled vocabulary. Common values include:
FULL_TIMEPART_TIMECONTRACTORTEMPORARYINTERNVOLUNTEERPER_DIEM
Accurate classification ensures the listing surfaces in filtered searches and improves match quality for candidates using Google's job search filters.
JobLocation and Remote Roles
The jobLocation property defines where the work is performed using a Place type. For physical locations, include a PostalAddress with addressLocality, addressRegion, and addressCountry. For remote positions, use the TELECOMMUTE value for jobLocationType:
jobLocationType: "TELECOMMUTE"signals a fully remote role- Hybrid roles can specify multiple location entries
- Geo-coordinates via
latitudeandlongitudeimprove local search relevance
ValidThrough Expiration
The validThrough property specifies an ISO 8601 date after which the job listing is no longer active. This is critical for:
- Preventing expired listings from appearing in search results
- Maintaining data quality and user trust
- Automating listing lifecycle management
Google recommends setting this date accurately and removing or updating the markup once the position is filled to avoid candidate frustration.
Direct Apply and Indexing API
For listings to appear in Google's job search, the page must either:
- Be directly crawlable without login walls
- Use the Indexing API to push updates immediately
Additionally, the directApply option can be signaled to indicate candidates can apply without redirection. Google's job search guidelines require the structured data to match the visible content on the page exactly—any discrepancy triggers a manual action.
Frequently Asked Questions
Essential answers to common questions about implementing the Schema.org JobPosting type for Google's job search experience and enhanced visibility in search results.
JobPosting is a Schema.org structured data type used to markup a job listing on a webpage, providing machine-readable details about the hiring organization, job location, employment type, and base salary. When implemented correctly using JSON-LD, this markup enables your job listings to appear in Google's dedicated job search experience, which aggregates listings from across the web into a unified, interactive interface. The schema works by defining a set of required and recommended properties—such as hiringOrganization, jobLocation, and baseSalary—that search engines parse to understand the specifics of the role. Google explicitly requires baseSalary for job listings in certain regions, making JobPosting one of the few Schema.org types with mandatory property enforcement for rich result eligibility. The structured data also powers features like the ability to filter by salary range, location proximity, and employment type directly within search results, significantly improving discoverability for qualified candidates.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Master the interconnected vocabulary of structured data. These concepts form the technical foundation for implementing and optimizing JobPosting schema to achieve maximum visibility in Google's job search experience.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us