Playbill Scraper avatar

Playbill Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Playbill Scraper

Playbill Scraper

Scrape Playbill's Broadway database - search shows, people and venues, browse by theatre, and fetch full show detail pages with cast, creative team, opening/closing dates and synopses.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Share

Scrape Playbill.com — the trusted theatre resource since 1884 — covering Broadway, Off-Broadway, National Tours and London shows. Search the full Playbill database of 28,000+ shows, 148,000+ people and 2,700+ venues; browse everything a theatre has staged; or pull full production detail pages with cast, creative team, opening/closing dates and synopses. No login, no cookies — free-plan friendly.

What this actor does

  • Three modes: search, browseByVenue, byUrl
  • Search sections: Shows (default), People, Venues
  • Genre filter: Broadway, Off-Broadway, Tour (National Tours), London
  • Sort options: Relevance or Closing Date (most recently closed first, via Playbill's date replica index)
  • Full show metadata: venue + city/state, address, first preview / opening / closing dates, running time, showtimes, teaser, synopsis, schedule notes, creative credits, show categories, buy-tickets link, popularity views (total / month / week / today)
  • byUrl: production pages (full cast + creative team), person pages (credits with roles), venue pages (production history)
  • Optional enrichment: includeCast attaches cast lists and creative credits to search results
  • Empty fields are omitted — every record carries sourceUrl, scrapedAt, recordType

Output fields

Shows (recordType: "show")

  • showId, uid, title, akaName
  • genre, genreTags[] (e.g. Broadway, Musical, Original)
  • venueName, venueAddress, venueCity, venueState, venueType
  • previewDate, openDate, closeDateYYYY-MM-DD
  • runTime, showtimes, teaser, synopsis / description, notes (schedule notes)
  • creators[] (e.g. Stephen Schwartz), credits{} (lyrics / music / book / …)
  • showCategories[] (e.g. Play, Musical), isTour, openingYear, precedes1920
  • buyTicketsLink, cast[] — name, role, person link (with includeCast / byUrl)
  • viewsTotal, viewsMonth, viewsWeek, viewsToday, thumbnailUrl, coverUrl
  • productionUid (byUrl), sourceUrl

People (recordType: "person")

  • personId, fullName, firstName, lastName, aka
  • professions[] (e.g. Performer, Writer, Producer), organizations[]
  • gender, birth, death, placeOfBirth, placeOfDeath, bornText
  • bio, inRunningShow, inRunningShowUntil, starPerformerIn, starPerformerUntil
  • showRoleCount, starShowRoleCount, hasShowRoles, isOrganization, isUniverse
  • credits[] — productions with role and opening date (byUrl)
  • thumbnailUrl, sourceUrl

Venues (recordType: "venue")

  • venueId, venueName, venueAddress, venueCity, venueState, year
  • website, stageDoorInfo, bathrooms, waterFountain
  • viewsTotal, viewsThisWeek, viewsThisMonth
  • venueFacts{} — longest-running show, performance counts (byUrl)
  • productions[] — production history (byUrl)
  • sourceUrl

Every record also includes scrapedAt (UTC ISO timestamp) and recordType.

Input

FieldTypeDefaultDescription
modeenumsearchsearch / browseByVenue / byUrl
searchQuerystringwickedFree-text query (mode=search)
searchSectionenumshowsshows / people / venues
sortByenumrelevancerelevance / closingDate (most recent close first)
venueNamestringGershwin TheatreTheatre to browse (mode=browseByVenue)
urlsarrayProduction / person / venue URLs (mode=byUrl)
genreenumbroadwaybroadway / offbroadway / touring / london
containsKeywordstringClient-side title/synopsis substring filter
dateRangeFrom / dateRangeTostringShow window (YYYY-MM-DD) — opening/closing overlap
includeCastboolfalseEnrich shows with cast & creative credits
maxItemsint50Hard cap (1–1000)
proxyConfigurationobjectoffOptional Apify proxy (auto-engaged on 403/429)

Examples

Broadway musicals opening in 2024:

{
"mode": "search",
"searchQuery": "musical",
"genre": "broadway",
"dateRangeFrom": "2024-01-01",
"dateRangeTo": "2024-12-31"
}

Everything the Gershwin Theatre has staged:

{
"mode": "browseByVenue",
"venueName": "Gershwin Theatre",
"maxItems": 100
}

Full detail with cast for a specific show:

{
"mode": "byUrl",
"urls": ["https://playbill.com/production/wicked-broadway-gershwin-theatre-2003"],
"includeCast": true
}

Actor credits:

{
"mode": "byUrl",
"urls": ["https://playbill.com/person/stephen-schwartz-vault-0000007368"]
}

Use cases

  • Theatre research — track shows by venue, genre, or opening window
  • Content databases — build show/venue/cast datasets for ticketing or editorial products
  • Talent intelligence — actor, writer and producer credit histories
  • Venue history — full production archives for a specific theatre
  • Marketing & analytics — popularity views and show categories for trend analysis

FAQ

Do I need an account or API key? No. Search runs against Playbill's public Algolia search index with the same public (search-only) credentials the website itself uses; detail pages are plain public HTML.

Is this affiliated with Playbill? No — this is a third-party actor using Playbill's public search index and public pages. It is not affiliated with or endorsed by Playbill.

What's the difference between search and byUrl? search returns the database summary (venue, dates, synopsis, credits, categories) fast. byUrl fetches the full production page — including the cast list and creative team, plus person and venue pages.

How do I get cast lists in search mode? Set includeCast: true. Each show then loads its production page so cast[] and credits{} are attached (one extra request per show).

What does dateRangeFrom/To mean for shows? The show window — a record passes if its opening–closing span overlaps the requested dates. Shows still running (no closing date) pass any range from their opening onward.

What is genre? The show market: Broadway, Off-Broadway, Tour (national tours) or London. It only applies when searching the shows section.

What does sortBy do? closingDate orders results by the most recently closed show first, using Playbill's date-sorted replica index (playbillcraft-beta-date). relevance is the site's default ranking. It applies to the search and browseByVenue modes.

Why are some fields missing on some records? Older or shorter-lived shows lack e.g. closing dates or synopses; empty fields are omitted rather than filled with placeholders.

How fresh is the data? Live — search hits come from Playbill's production search index (updated continuously), and byUrl pages are fetched at run time.

Data Source

All data comes from public surfaces of playbill.com: the public Algolia index playbillcraft-beta (application QCDH3SSWM9) behind the site's own search box, the server-rendered /production/*, /person/* and /venue/* pages, and the public /personlistpage/person-list cast endpoint. The site is served through a WAF that can return 403 to plain HTTP clients; the actor automatically escalates to TLS-impersonated curl_cffi (chrome131) requests — and optionally the Apify proxy — before failing a page.

Limitations

  • The cast list on search results is partial unless includeCast is enabled, and even then it reflects the carousel on the production page (top members per tab). Use mode=byUrl with includeCast for the full original cast (via Playbill's person-list page).
  • genre applies only to the shows section; people and venue searches ignore it.
  • Date-window filtering works on opening/preview/closing dates; shows without any dates pass through. An inverted range (dateRangeFrom > dateRangeTo) can never match and returns 0 records with a status message.
  • Playbill's legacy search page (/searchpage/search) is WAF-blocked from datacenter IPs even with impersonation; this actor uses the site's public Algolia index instead, which is not blocked.
  • The /ajax/loadProdPeople.jsp endpoint is Cloudflare-challenged; full cast lists are loaded from the public /personlistpage/person-list page instead.
  • The theatre seating-chart image (assets.playbill.com/venues/...) returns 403 to all anonymous clients (no Referer unlocks it), so it cannot be served to customers or rehosted; the field is intentionally not emitted.