Schema
Job Posting
 On this page 
Schema.org Job Posting
- Type: 
defineJobPosting(input: JobPosting)
Describes anProducton aWebPage. 
Useful Links
Required properties
- title 
string
The title of the job (not the title of the posting). For example, "Software Engineer" or "Barista" - description  
string
The full description of the job in HTML format. - hiringOrganization Organization
The organization offering the job position. - jobLocation 
Place
The location(s) where the job is available. - datePosted 
ResolvableDate
Publication date for the job posting. 
Recommended Properties
- employmentType 
string
Type of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship). - validThrough 
ResolvableDate
The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours. - applicantLocationRequirements - 
AdministrativeArea
The region(s) of the organization where the job is available. - baseSalary - 
MonetaryAmount
The base salary of the job or of an employee in an EmployeeRole. - directApply - 
boolean
Indicates whether direct application is allowed. - identifier - 
string
An identifier for the job posting, unique within the hiring organization. - jobLocationType - 
string
A description of the job location (e.g TELECOMMUTE for telecommute jobs). 
Defaults
- @type: 
JobPosting - @id: 
${canonicalUrl}#job-posting - hiringOrganization: id reference of the identity
 - mainEntityOfPage id reference of the web page
 
Resolves
See Global Resolves for full context.
datePosted- DatehiringOrganization- OrganizationjobLocation- PlacebaseSalary- MonetaryAmountvalidThrough- Date
Examples
Simple
defineJobPosting({
  title: 'Software Engineer',
  description: 'We are looking for a Software Engineer to join our team to help us build Unhead.',
  hiringOrganization: {
    name: 'Unhead',
  },
  jobLocation: {
    address: {
      streetAddress: '1600 Amphitheatre Pkwy',
      addressLocality: 'Mountain View',
      addressRegion: 'CA',
      postalCode: '94043',
      addressCountry: 'US',
    }
  },
  baseSalary: {
    currency: 'USD',
    value: {
      value: 100000,
      unitText: 'YEAR',
    },
  },
  employmentType: 'FULL_TIME',
  validThrough: '2022-02-01',
  datePosted: '2022-01-01',
})
Types
/**
 * A listing that describes a job opening in a certain organization.
 */
export interface JobPostingSimple extends Thing {
  /**
   * The original date that employer posted the job in ISO 8601 format.
   * For example, "2017-01-24" or "2017-01-24T19:33:17+00:00".
   */
  datePosted: ResolvableDate
  /**
   * The full description of the job in HTML format.
   *
   * The description must be a complete representation of the job, including job responsibilities, qualifications,
   * skills, working hours, education requirements, and experience requirements. The description can't be the same as
   * the title
   */
  description: string
  /**
   * The organization offering the job position. This must be the name of the company (for example, "Starbucks, Inc"),
   * and not the specific location that is hiring (for example, "Starbucks on Main Street").
   */
  hiringOrganization: NodeRelation<Organization>
  /**
   * The physical location(s) of the business where the employee will report to work (such as an office or worksite),
   * not the location where the job was posted. Include as many properties as possible. The more properties you provide,
   * the higher quality the job posting is to our users. Note that you must include the addressCountry property.
   */
  jobLocation: NodeRelation<Place>
  /**
   * The title of the job (not the title of the posting). For example, "Software Engineer" or "Barista"
   */
  title: string
  /**
   * The actual base salary for the job, as provided by the employer (not an estimate).
   */
  baseSalary?: MonetaryAmount
  /**
   * Type of employment
   */
  employmentType?: EmploymentType | EmploymentType[]
  /**
   * The date when the job posting will expire in ISO 8601 format. For example, "2017-02-24"
   * or "2017-02-24T19:33:17+00:00".
   */
  validThrough?: ResolvableDate
  /**
   * A description of the job location (e.g. TELECOMMUTE for telecommute jobs).
   */
  jobLocationType?: 'TELECOMMUTE'
  /**
   * Indicates whether the URL that's associated with this job posting enables direct application for the job.
   */
  directApply?: boolean
}
 Did this page help you?