@JobPostingEvents & Education4 min readUpdated 2026-10-03

Internship & Contract Role Job Posting Schema Markup (JSON-LD)

Structured data for university internships, seasonal apprenticeships, fixed-term contract roles, direct apply links, qualifications, and mentoring responsibilities.

Target Queries:internship schema markupcontract job json lddirectapply jobposting structured datastudent apprenticeship schema
Advertisement
AdSense Placeholder: Top Leaderboard Ad (728x90 / 320x50)

Displayed below main page header or above the tool container. • Zero CLS Container

Production JSON-LD Code Block

Embed this structured data block directly into your HTML <head> or framework layout template.

Internship Job Posting Blueprint Payload
Test in Validator →
application/ld+json (JobPosting)
Test in Validator
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Software Engineering Summer Intern (AI & Search)",
  "description": "<p>12-week paid summer internship program for undergraduate and graduate computer science students.</p>",
  "datePosted": "2026-10-01T09:00:00Z",
  "validThrough": "2026-12-01T23:59:59Z",
  "employmentType": "INTERN",
  "directApply": true,
  "hiringOrganization": {
    "@type": "Organization",
    "name": "OmniSEOTools Labs",
    "sameAs": "https://omniseotools.com"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "500 Howard Street",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "postalCode": "94105",
      "addressCountry": "US"
    }
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": {
      "@type": "QuantitativeValue",
      "value": 55,
      "unitText": "HOUR"
    }
  }
}
100% Schema.org & Google Rich Results Compliant (2026)Ready for <script type="application/ld+json">

Typed Properties Specification (9 Fields)

Key Schema.org properties and sub-objects required to qualify for rich snippet treatment in Google Search.

PropertyExpected TypeStatusDescription & Example
titlestringRequired

Job title identifying the internship or contract classification.

e.g. Software Engineering Summer Intern (AI & Search)
employmentTypestringRequired

Must be set to 'INTERN' or 'CONTRACTOR'.

e.g. INTERN
directApplybooleanRequired

Signals that candidate applications can be submitted directly on the target URL without third-party redirection.

e.g. true
datePostedstring (ISO 8601)Required

Date the internship posting opened.

e.g. 2026-10-01T09:00:00Z
validThroughstring (ISO 8601)Required

Internship application deadline.

e.g. 2026-12-01T23:59:59Z
hiringOrganizationOrganizationRequired

Company sponsoring the internship or contract.

e.g. { '@type': 'Organization', 'name': 'OmniSEOTools Labs' }
jobLocationPlaceRequired

Workplace location.

e.g. { '@type': 'Place', 'address': { ... } }
baseSalaryMonetaryAmountRecommended

Hourly compensation rate for student interns.

e.g. { '@type': 'MonetaryAmount', 'currency': 'USD', 'value': { 'value': 55, 'unitText': 'HOUR' } }
descriptionstring (HTML)Required

Full description of internship curriculum, mentors, and learning objectives.

e.g. <p>12-week paid summer internship program.</p>

Google Search Console Pitfalls & Critical Warnings

Avoid these 3 common validation traps, parser errors, and algorithmic policy penalties when deploying JobPosting schema.

criticalPitfall #1

Misrepresenting Unpaid Roles as Paid Positions

Omitting salary or implying monetary compensation for unpaid academic internships.

GSC Impact:
Violation of Google for Jobs guidelines, risking whole-domain job indexing suspensions.
Actionable Fix:

Accurately declare baseSalary or clearly state unpaid status in description.

errorPitfall #2

False directApply Claim

Setting directApply: true when the application link forces users through multiple ad-gated redirect loops.

GSC Impact:
Google Search penalties for deceptive job application flows.
Actionable Fix:

Set directApply: true only if the user lands directly on an in-page application form.

errorPitfall #3

Using Free-text Employment Types

Writing 'Intern' or 'Summer Student' instead of the standardized enum 'INTERN'.

GSC Impact:
Google for Jobs filter categorization failure.
Actionable Fix:

Use standard enum values: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN.

Recommended Implementation Scenarios

University recruitment and summer intern career pages
Apprenticeship program listings
Seasonal fixed-contract engineering opportunities
Graduate fellowship and co-op program postings

Related Schema Blueprints

Explore complementary structured data blueprints across the Events & Education cluster.

Advertisement
AdSense Placeholder: Top Leaderboard Ad (728x90 / 320x50)

Displayed below main page header or above the tool container. • Zero CLS Container