2026 Structured Data Blueprint

The Ultimate JobPosting
Schema Generator

Get your open roles in front of the right candidates. JobPosting schema allows your listings to appear in the dedicated Google Jobs search interface.

Includes:additionalTypealternateNameapplicantLocationRequirementsapplicationContactbaseSalarybenefitsdatePosteddescription+43 more
Google Rich Result Ready
Instant JSON-LD Generation

Magic Build

Paste your URL below and our AI will automatically fill the JobPosting fields for you.

Configuration

Live Generator

JobPosting Schema

Fill in the fields below to generate your JSON-LD. Required fields are marked with *.

Required Fields

The name of the item. (Expects: Text)

Recommended

An image of the item. This can be a [[URL]] or a fully described [[ImageObject]]. (Expects: ImageObject, URL)

URL of the item. (Expects: URL)

Why use JobPosting?

Get your open roles in front of the right candidates. JobPosting schema allows your listings to appear in the dedicated Google Jobs search interface.

Get your open roles in front of the right candidates. JobPosting schema allows your listings to appear in the dedicated Google Jobs search interface.This type is officially supported by major search engines for enhancing search listing appearance.

Output Panel

Awaiting input...

Want to automate this?

Connect your site to SchemaGen and our AI will automatically extract and deploy schemas for you. No manual coding required.

Launch AI Generator

What is JobPosting Schema?

Get your open roles in front of the right candidates. JobPosting schema allows your listings to appear in the dedicated Google Jobs search interface.

Why It Matters for SEO

Google uses JobPosting structured data to understand the content and context of your pages. When correctly implemented, this schema can unlock rich results in Google Search — enhancing your listing with additional information that dramatically improves visibility and click-through rates.

Google Rich Results Eligible

Why Add JobPosting Structured Data?

🔍

Appear in Rich Results

Structured data helps Google show enhanced results for your pages in search — including stars, prices, FAQs, and more.

📈

Boost Click-Through Rate

Rich snippets can increase CTR by up to 30% compared to plain search results — more clicks with the same ranking.

🤖

Feed AI Search Engines

AI answer engines like Perplexity and Google SGE use structured data to verify and cite facts from your content.

How to Implement JobPosting JSON-LD

1

Generate

Use the form above to fill in your details and generate valid JobPosting JSON-LD markup in seconds.

2

Copy

Copy the generated JSON-LD output code with one click — it's already formatted and ready to deploy.

3

Deploy

Paste the code into your <head> tag, or use SchemaGen's SDK to deploy without touching code.

Want to skip steps 2 & 3? Connect SchemaGen's SDK to deploy directly from the dashboard.

Properties You Can Include

JobPosting schema supports the following schema.org properties. Required fields are the minimum Google needs to consider your markup valid; recommended fields unlock richer search result appearances.

PropertyDescriptionExpected TypeStatus
additionalTypeAn additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org style guide.Text, URLOptional
alternateNameAn alias for the item.TextOptional
applicantLocationRequirementsThe location(s) applicants can apply from. This is usually used for telecommuting jobs where the applicant does not need to be in a physical office. Note: This should not be used for citizenship or work visa requirements.AdministrativeAreaOptional
applicationContactContact details for further information relevant to this job posting.ContactPointOptional
baseSalaryThe base salary of the job or of an employee in an EmployeeRole.MonetaryAmount, Number, PriceSpecificationOptional
benefitsDescription of benefits associated with the job.TextOptional
datePostedPublication date of an online listing.Date, DateTimeOptional
descriptionA description of the item.Text, TextObjectOptional
directApplyIndicates whether an url that is associated with a JobPosting enables direct application for the job, via the posting website. A job posting is considered to have directApply of True if an application process for the specified job can be directly initiated via the url(s) given (noting that e.g. multiple internet domains might nevertheless be involved at an implementation level). A value of False is appropriate if there is no clear path to applying directly online for the specified job, navigating directly from the JobPosting url(s) supplied.BooleanOptional
disambiguatingDescriptionA sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.TextOptional
educationRequirementsEducational background needed for the position or Occupation.EducationalOccupationalCredential, TextOptional
eligibilityToWorkRequirementThe legal requirements such as citizenship, visa and other documentation required for an applicant to this job.TextOptional
employerOverviewA description of the employer, career opportunities and work environment for this position.TextOptional
employmentTypeType of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship).TextOptional
employmentUnitIndicates the department, unit and/or facility where the employee reports and/or in which the job is to be performed.OrganizationOptional
estimatedSalaryAn estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value.MonetaryAmount, MonetaryAmountDistribution, NumberOptional
experienceInPlaceOfEducationIndicates whether a JobPosting will accept experience (as indicated by OccupationalExperienceRequirements) in place of its formal educational qualifications (as indicated by educationRequirements). If true, indicates that satisfying one of these requirements is sufficient.BooleanOptional
experienceRequirementsDescription of skills and experience needed for the position or Occupation.OccupationalExperienceRequirements, TextOptional
hiringOrganizationOrganization or Person offering the job position.Organization, PersonOptional
identifierThe identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details.PropertyValue, Text, URLOptional

Example JobPosting JSON-LD

Here's what valid JobPosting structured data looks like with sample values filled in. Use the generator above to replace these with your own data.

Example Output
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "name": "Example JobPosting",
  "image": "https://example.com/images/example.jpg",
  "url": "https://example.com/page",
  "additionalType": "Example additionalType",
  "alternateName": "Example alternateName",
  "applicantLocationRequirements": {
    "@type": "AdministrativeArea",
    "name": "Example AdministrativeArea",
    "image": "https://example.com/images/example.jpg",
    "url": "https://example.com/page"
  },
  "applicationContact": {
    "@type": "ContactPoint",
    "name": "Example ContactPoint",
    "image": "https://example.com/images/example.jpg",
    "url": "https://example.com/page"
  },
  "hiringOrganization": {
    "@type": "Organization"
  }
}

Validate Your JobPosting Schema

Once deployed, validate your schema is working correctly with our free audit tool. Paste your URL and we'll check for errors, missing properties, and Google Rich Result eligibility.

Free Schema Audit Tool →

Check your JobPosting schema for errors and Rich Result eligibility