Discover/Now Playing SF API
live

Now Playing SF APInowplayingsf.com

Fetch real-time movie showtimes at San Francisco theaters from nowplayingsf.com. Filter by date, theater, or time. 2 endpoints covering AMC, Regal, and Apple Cinemas.

Endpoint health
monitored
get_film_showtimes
list_films
Checks pendingself-healing
Endpoints
2
Updated
2h ago

What is the Now Playing SF API?

The nowplayingsf.com API provides 2 endpoints for accessing movie showtimes and featured films at San Francisco theaters. The get_film_showtimes endpoint returns every scheduled screening for a given film across AMC Kabuki, AMC Metreon, Regal Stonestown, and Apple Cinemas Van Ness — each row including a local date, 24-hour start time, ISO timestamps, and a direct ticketing link to the theater.

This call costs1 credit / call— charged only on success
Try it
Local calendar date YYYY-MM-DD to restrict screenings to. Omitted = all dates the site publishes for this film.
theater_slug from the theaters array of this endpoint's response (e.g. amc-metreon). Omitted = all theaters; an unrecognized value yields zero showtimes.
Film slug as it appears in the site's film URL and in list_films.sections[*].films[*].film_slug (e.g. the-odyssey).
24-hour local time HH:MM; only screenings starting at or after this time are returned. Omitted = no time filter.
api.parse.bot/scraper/b4922206-2963-40f7-b812-c5c2970db3a6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b4922206-2963-40f7-b812-c5c2970db3a6/get_film_showtimes?film_slug=resident-evil' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace nowplayingsf-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: browse SF movie showtimes — discover films, then drill into screenings."""
from parse_apis.nowplayingsf_com_api import NowPlaying, FilmNotFound

client = NowPlaying()

# Browse the home-page shelves to see what's playing.
for section in client.sections.list(limit=4):
    print(f"— {section.section} ({len(section.films)} films) —")
    for film in section.films[:3]:
        label = f" [{film.tag}]" if film.tag else ""
        print(f"  {film.title}{label}")

# Pick the first film from the first section and fetch full showtimes.
first_section = client.sections.list(limit=1).first()
if first_section is not None and first_section.films:
    slug = first_section.films[0].film_slug
    try:
        film = client.films.get(film_slug=slug)
    except FilmNotFound:
        print(f"Film '{slug}' is no longer listed")
    else:
        print(f"\n{film.title} — {film.showtime_count} screenings across {len(film.theaters)} theaters")
        for theater in film.theaters:
            print(f"  {theater.theater_name} ({theater.neighborhood})")

        # Show the next few showtimes.
        for st in film.showtimes[:5]:
            print(f"  {st.date} {st.local_time}  {st.theater_name}  {st.ticket_url[:60]}…")

        # Filter to evening screenings at one theater if available.
        if film.theaters:
            evening = client.films.get(
                film_slug=film.film_slug,
                theater=film.theaters[0].theater_slug,
                after_time="17:00",
            )
            print(f"\nEvening at {film.theaters[0].theater_name}: {evening.showtime_count} screenings")

print("\nexercised: sections.list / films.get (unfiltered + filtered) / FilmNotFound")
All endpoints · 2 totalmissing one? ·

Returns every scheduled showtime for one film across the San Francisco theaters the site tracks, in a single round trip. Each row is one screening with its local date, 24h local time (America/Los_Angeles), ISO start timestamps, theater identity and the theater's ticketing link. Optional filters narrow the rows locally: a calendar date (YYYY-MM-DD; the site publishes roughly a two-week window, listed in available_dates), a theater_slug (values are listed in the theaters array of the same response; an unrecognized slug yields zero rows), and after_time (24h HH:MM local; keeps screenings starting at or after that time). Rows are sorted by start time. The theaters and available_dates arrays describe the film's whole schedule, not the filtered rows. Zero rows is a valid result when the film has no screening matching the filters. An unknown film slug returns a stale_input (input_not_found) error.

Input
ParamTypeDescription
datestringLocal calendar date YYYY-MM-DD to restrict screenings to. Omitted = all dates the site publishes for this film.
theaterstringtheater_slug from the theaters array of this endpoint's response (e.g. amc-metreon). Omitted = all theaters; an unrecognized value yields zero showtimes.
film_slugrequiredstringFilm slug as it appears in the site's film URL and in list_films.sections[*].films[*].film_slug (e.g. the-odyssey).
after_timestring24-hour local time HH:MM; only screenings starting at or after this time are returned. Omitted = no time filter.
Response
{
  "type": "object",
  "fields": {
    "title": "film title as shown on the site",
    "filters": "echo of the date, theater and after_time filters applied (null when omitted)",
    "theaters": "array of theaters the site tracks for this film: theater_slug, theater_name, neighborhood, label, website_url",
    "timezone": "IANA timezone the local_time and date fields are expressed in",
    "film_slug": "the requested film slug",
    "showtimes": "array of screenings: show_id (integer), date, local_time (HH:MM), starts_at (ISO local with offset), starts_at_utc, theater_slug, theater_name, neighborhood, ticket_url",
    "showtime_count": "integer number of rows in showtimes",
    "available_dates": "array of YYYY-MM-DD strings the site publishes a schedule for this film"
  },
  "sample": {
    "data": {
      "title": "The Odyssey",
      "filters": {
        "date": "2026-09-16",
        "theater": null,
        "after_time": "17:00"
      },
      "theaters": [
        {
          "label": "Kabuki",
          "website_url": "https://www.amctheatres.com/movie-theatres/san-francisco/amc-kabuki-8",
          "neighborhood": "Japantown",
          "theater_name": "AMC Kabuki 8",
          "theater_slug": "amc-kabuki"
        },
        {
          "label": "Van Ness",
          "website_url": "https://www.applecinemas.com",
          "neighborhood": "Van Ness",
          "theater_name": "Apple Cinemas Van Ness",
          "theater_slug": "apple-van-ness"
        }
      ],
      "timezone": "America/Los_Angeles",
      "film_slug": "the-odyssey",
      "showtimes": [
        {
          "date": "2026-09-16",
          "show_id": 637789,
          "starts_at": "2026-09-16T17:15:00-07:00",
          "local_time": "17:15",
          "ticket_url": "https://tickets.fandango.com/transaction/ticketing/mobile/jump.aspx?sdate=2026-09-16%2B17%3A15&tid=AAGBK",
          "neighborhood": "Van Ness",
          "theater_name": "Apple Cinemas Van Ness",
          "theater_slug": "apple-van-ness",
          "starts_at_utc": "2026-09-17T00:15:00.000Z"
        },
        {
          "date": "2026-09-16",
          "show_id": 585584,
          "starts_at": "2026-09-16T20:30:00-07:00",
          "local_time": "20:30",
          "ticket_url": "https://www.amctheatres.com/showtimes/all/2026-09-16/kabuki/all/146806697",
          "neighborhood": "Japantown",
          "theater_name": "AMC Kabuki 8",
          "theater_slug": "amc-kabuki",
          "starts_at_utc": "2026-09-17T03:30:00.000Z"
        }
      ],
      "showtime_count": 2,
      "available_dates": [
        "2026-09-14",
        "2026-09-15",
        "2026-09-16"
      ]
    },
    "status": "success"
  }
}

About the Now Playing SF API

Endpoints

The API exposes two endpoints. list_films returns the films currently featured on the nowplayingsf.com home page, grouped into named shelves such as Recommended, New Releases, Classics, and Upcoming Releases. Each film entry includes a film_slug, a title, and a promotional tag. The film_slug values returned here are the same identifiers accepted by the second endpoint.

get_film_showtimes takes a required film_slug and returns all scheduled screenings for that film across the four tracked San Francisco theaters. Each screening in the showtimes array includes show_id, date (YYYY-MM-DD), local_time (HH:MM in America/Los_Angeles), starts_at (ISO local with UTC offset), starts_at_utc, theater_slug, and a ticket_url pointing to the theater's ticketing page for that showtime.

Filtering Showtimes

Three optional filters narrow the showtimes array. Pass date (YYYY-MM-DD) to restrict to a single calendar day, theater (a theater_slug such as amc-metreon) to restrict to one venue, or after_time (HH:MM) to exclude screenings starting before a given hour. The response echoes all applied filters in a filters object and always includes available_dates — the full list of dates the site publishes for that film — so you can see what other days exist even when filtering to one day.

Theater and Timezone Context

The theaters array in each get_film_showtimes response lists every venue the site tracks for that film, including theater_slug, theater_name, neighborhood, label, and website_url. All time fields are expressed in the America/Los_Angeles IANA timezone, confirmed by the top-level timezone field in the response.

Reliability & maintenance

The Now Playing SF API is a managed, monitored endpoint for nowplayingsf.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nowplayingsf.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official nowplayingsf.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a same-day showtime finder filtered by after_time for users who want evening screenings only
  • Aggregate available_dates across multiple films to generate a weekly SF cinema calendar
  • Display neighborhood-level theater options using the neighborhood field from the theaters array
  • Power a 'what's playing tonight' widget using list_films sections combined with get_film_showtimes date filtering
  • Generate direct ticket purchase links by surfacing the per-showtime ticket_url field
  • Track which films appear in the 'Upcoming Releases' shelf on nowplayingsf.com using list_films section data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does nowplayingsf.com have an official developer API?+
No. nowplayingsf.com does not publish an official developer API or documented data feed for showtimes.
What does get_film_showtimes return for each screening, and how granular is the time data?+
Each entry in the showtimes array includes the local date, a 24-hour local_time string (HH:MM), a starts_at field with the full ISO timestamp including UTC offset, and starts_at_utc for timezone-agnostic comparisons. All local fields are expressed in America/Los_Angeles.
Does the API cover theaters outside San Francisco, or other Bay Area cities?+
Not currently. The API tracks four San Francisco venues: AMC Kabuki, AMC Metreon, Regal Stonestown, and Apple Cinemas Van Ness. You can fork the API on Parse and revise it to add coverage for additional theaters or Bay Area cities.
Can I retrieve showtimes for all films at once rather than one film at a time?+
Not currently. get_film_showtimes requires a single film_slug per request, and list_films returns film metadata without showtime details. You can fork the API on Parse and revise it to add a bulk-showtimes endpoint that iterates across all films from the home page shelves.
How far in advance does the site publish showtimes, and how do I know which dates are available?+
The available_dates field in every get_film_showtimes response lists the exact YYYY-MM-DD dates the site currently has a schedule for that film. Availability reflects what the site has published at the time of the request; the horizon varies by film and is typically a few days to about a week.
Page content last updated . Spec covers 2 endpoints from nowplayingsf.com.
Related APIs in EntertainmentSee all →
landmarktheatres.com API
Find current movies, check showtimes, and browse Landmark Theatres locations nationwide with direct ticketing links. Search what's playing at any US Landmark Theatre and get all the information you need to plan your movie outing.
movietickets.com API
Find movie showtimes and theaters near you, browse now playing and coming soon films, and get detailed movie information including ratings and schedules. Plan your movie nights by checking availability across theaters and viewing comprehensive movie metadata all in one place.
district.in API
Find movies currently playing in theaters across Indian cities to discover what's showing near you. Browse showtimes and film details powered by District by Zomato's comprehensive movie database.
everymancinema.com API
Find showtimes and movies playing at Everyman Cinema venues across the UK, browse detailed schedules for each location, and plan your cinema visits with up-to-date venue information. Check what films are screening when and where to book your tickets in advance.
yorck.de API
Browse current and upcoming films at Berlin's Yorck Kinogruppe cinemas, check showtimes and schedules, and explore special events and membership options. Search for movies, view detailed cinema information, and plan your visits with comprehensive scheduling data across the entire theater chain.
amctheatres.com API
Find movie showtimes and browse theatre locations across AMC Theatres, with the ability to filter by specific theatre, date, and market area. Quickly discover what's playing and plan your cinema visits with current availability at your preferred locations.
fandango.com API
Search for movies and retrieve nearby theater listings with showtimes by ZIP code and date, plus showtimes for a specific movie at nearby theaters.
comingsoon.it API
Find movie showtimes, theater locations, and box office rankings across Italy with access to detailed movie and theater information. Search now-playing films by city, compare showtimes at different cinemas, and discover what's trending at the Italian box office.