Free Screening Event Schema Generator

Fill in the facts visible on your page, copy the Screening Event JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Screening Event content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation
Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

Screening Event Schema Generator — Promote Film Screenings and Premieres

Generate valid ScreeningEvent JSON-LD with venue, film metadata, and ticket details. Clarify what’s showing, where, and how to attend.

Try the ScreeningEvent Generator

Why screening pages underperform

  • Film name is mentioned in prose but not structured via `workPresented`.
  • Venue lacks a proper Place object with address, hurting local relevance.
  • Ticketing info misses price/currency/availability or a purchase URL.
  • Hybrid/online screenings omit attendance mode and streaming/join URLs.

How SwiftSchema helps

The ScreeningEvent generator makes you capture the essentials: the film (via `workPresented`), start/end times with timezone, venue or VirtualLocation, organizer, and ticket Offers.

It produces clean JSON-LD you can paste on the screening page, pairing event details with the Movie metadata fans expect.

How it works

  1. 01

    Choose ScreeningEvent in the generator below.

  2. 02

    Enter screening title and film info under `workPresented` (name, URL, image, description).

  3. 03

    Add start (and optional end) date/time with timezone, and venue as Place with address; include VirtualLocation for online.

  4. 04

    Add ticket Offers with price, currency, availability, and purchase URL; include separate offers for VIP/GA if relevant.

  5. 05

    Copy JSON or Script, paste on the screening page, and validate in the Rich Results Test.

Ready to build the markup?

Paste once per showing. Validate. Ship.

Generate ScreeningEvent JSON-LD

What is ScreeningEvent structured data?

ScreeningEvent is an Event subtype for film showings—premieres, festivals, limited runs, or community movie nights. It ties a specific screening to a Movie via workPresented, clarifies when and where it plays, and how audiences can attend or buy tickets. Proper markup reduces ambiguity between different screenings of the same film and improves eligibility for event-rich displays.

Essential properties to include

  • name — screening title; include film name and edition (e.g., “Opening Night: Film Title (4K)”).
  • workPresented — Movie details (name, url, description, image) to anchor the screening to the film.
  • startDate / endDate — ISO timestamps with timezone (e.g., 2026-04-08T19:00:00-05:00).
  • location — Place with venue name and PostalAddress; include VirtualLocation with join URL for online screenings.
  • eventAttendanceMode — OfflineEventAttendanceMode, OnlineEventAttendanceMode, or MixedEventAttendanceMode for hybrid showings.
  • eventStatus — keep accurate (EventScheduled, EventCancelled, EventPostponed, etc.).
  • organizer — festival, cinema, or film society hosting the event.
  • performer — speakers or guests (e.g., director Q&A).
  • offers — ticket options with price, priceCurrency, availability, and url; use multiple offers for tiers.
  • image — poster or stills; aim for 1200px+.
  • description — note format (IMAX/4K), language/subtitles, guest speakers, or accessibility.
  • inLanguage — specify when screenings include dubbing/subtitles.

Implementation tips

  • Use one ScreeningEvent per showing; do not combine multiple dates in one object.
  • Keep canonical URLs stable; if a showing moves or cancels, update eventStatus and consider adding previousStartDate.
  • Pair with Movie schema on the film page, and link from the screening page to the film detail page to reinforce context.
  • If part of a festival, link to the festival page and consider EventSeries for multi-day blocks.

Required properties

  • name
  • startDate
  • location.name

Recommended properties

  • description
  • image
  • endDate
  • eventAttendanceMode
  • eventStatus
  • location.address
  • organizer.name
  • workPresented.name
  • offers.price
  • offers.priceCurrency
  • offers.url
  • offers.availability
  • performer.name
  • inLanguage
Minimal JSON-LD
Validate
{
  "@context": "https://schema.org",
  "@type": "ScreeningEvent",
  "name": "Film Club: Inception",
  "startDate": "2026-04-08T19:00:00-05:00",
  "location": {
    "@type": "Place",
    "name": "Downtown Cinema"
  }
}
ScreeningEvent with film metadata and tickets
Validate
{
  "@context": "https://schema.org",
  "@type": "ScreeningEvent",
  "name": "Opening Night Premiere: Inception (4K Restoration)",
  "description": "One-night-only premiere with director Q&A.",
  "startDate": "2026-04-08T19:00:00-05:00",
  "endDate": "2026-04-08T22:00:00-05:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "image": [
    "https://example.com/images/inception-screening.webp"
  ],
  "location": {
    "@type": "Place",
    "name": "Downtown Cinema",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "200 Center St",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "postalCode": "78701",
      "addressCountry": "US"
    }
  },
  "workPresented": {
    "@type": "Movie",
    "name": "Inception",
    "url": "https://example.com/inception",
    "image": "https://example.com/images/inception-poster.webp",
    "description": "A mind-bending thriller directed by Christopher Nolan."
  },
  "performer": [
    {
      "@type": "Person",
      "name": "Christopher Nolan",
      "description": "Director Q&A"
    }
  ],
  "organizer": {
    "@type": "Organization",
    "name": "Film Society",
    "url": "https://filmsociety.example.com"
  },
  "offers": [
    {
      "@type": "Offer",
      "name": "General Admission",
      "price": "25",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock",
      "url": "https://tickets.example.com/inception-ga"
    },
    {
      "@type": "Offer",
      "name": "VIP + Q&A",
      "price": "55",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock",
      "url": "https://tickets.example.com/inception-vip"
    }
  ]
}

FAQs

How do I indicate the film being shown?Show

Use `workPresented` with a Movie object (name, url, description, image) so the screening is tied to the specific film.

Can I mark online or hybrid screenings?Show

Yes. Set `eventAttendanceMode` and add a `VirtualLocation` with a streaming or ticket URL alongside the venue.

What if it’s part of a festival?Show

Keep each ScreeningEvent for the specific showing. Link to the festival page via on-page content and consider `EventSeries` for multi-day blocks.

Related types

Browse all schema types

References