hOwTo

movies.json

A plain, stable JSON feed of everything currently playing on stuffsac — built for your own tool or bot to read, not just a browser.

It's rebuilt every time the site itself is (once a day), straight from the same database that drives the site, the RSS feed, and the calendar subscriptions. Nothing in it is computed separately from what the site shows — if a movie or showtime isn't on stuffsac, it isn't in here either.

Where to find it

Every page on the site has its own movies.json sitting right alongside it, scoped to exactly what that page shows:

If you can load a page on the site, you can load its movies.json — same URL, just add movies.json after the trailing slash.

See all 117 endpoints
  1. /movies.json
  2. /gold-country/movies.json
  3. /gold-country/del-oro/movies.json
  4. /gold-country/del-oro/series/movies.json
  5. /gold-country/film/movies.json
  6. /gold-country/imax/movies.json
  7. /gold-country/onyx/movies.json
  8. /gold-country/onyx/series/movies.json
  9. /gold-country/onyx-downtown/movies.json
  10. /gold-country/onyx-downtown/series/movies.json
  11. /gold-country/onyx-downtown/series/sunday-night-movies/movies.json
  12. /gold-country/series/movies.json
  13. /gold-country/state/movies.json
  14. /gold-country/state/series/movies.json
  15. /sacramento/movies.json
  16. /sacramento/crest/movies.json
  17. /sacramento/crest/series/movies.json
  18. /sacramento/crest/series/2-movies/movies.json
  19. /sacramento/downtown-sac/movies.json
  20. /sacramento/downtown-sac/series/movies.json
  21. /sacramento/downtown-sac/series/movies-under-the-stars/movies.json
  22. /sacramento/dreamland/movies.json
  23. /sacramento/dreamland/series/movies.json
  24. /sacramento/dreamland/series/animation-fixation/movies.json
  25. /sacramento/dreamland/series/double-vision/movies.json
  26. /sacramento/dreamland/series/evergreens/movies.json
  27. /sacramento/dreamland/series/fresh-eyes/movies.json
  28. /sacramento/dreamland/series/in-focus-november/movies.json
  29. /sacramento/dreamland/series/new-releases/movies.json
  30. /sacramento/dreamland/series/special-presentations/movies.json
  31. /sacramento/dreamland/series/the-midnight-society/movies.json
  32. /sacramento/esquire/movies.json
  33. /sacramento/esquire/series/movies.json
  34. /sacramento/film/movies.json
  35. /sacramento/imax/movies.json
  36. /sacramento/series/movies.json
  37. /sacramento/tower/movies.json
  38. /sacramento/tower/series/movies.json
  39. /sacramento/tower/series/100-years-of-marilyn-monroe/movies.json
  40. /sacramento/tower/series/classics-in-black-and-white/movies.json
  41. /sacramento/tower/series/hitchcocktober/movies.json
  42. /sacramento/tower/series/monday-epics/movies.json
  43. /sacramento/tower/series/musical-mondays/movies.json
  44. /sacramento/tower/series/tower-classics/movies.json
  45. /sacramento/varsity/movies.json
  46. /sacramento/varsity/series/movies.json
  47. /sacramento/varsity/series/cult-classics/movies.json
  48. /sacramento/west-wind/movies.json
  49. /sacramento/west-wind/series/movies.json
  50. /san-francisco/movies.json
  51. /san-francisco/alamo/movies.json
  52. /san-francisco/alamo/series/movies.json
  53. /san-francisco/alamo/series/advance-screenings/movies.json
  54. /san-francisco/alamo/series/fantastic-fest-presents/movies.json
  55. /san-francisco/alamo/series/movie-parties/movies.json
  56. /san-francisco/alamo/series/queer-film-theory-101/movies.json
  57. /san-francisco/alamo/series/sad-girl-cinema-club/movies.json
  58. /san-francisco/alamo/series/terror-tuesday/movies.json
  59. /san-francisco/alamo/series/weird-wednesday/movies.json
  60. /san-francisco/balboa/movies.json
  61. /san-francisco/balboa/series/movies.json
  62. /san-francisco/castro/movies.json
  63. /san-francisco/castro/series/movies.json
  64. /san-francisco/film/movies.json
  65. /san-francisco/four-star/movies.json
  66. /san-francisco/four-star/series/movies.json
  67. /san-francisco/great-star/movies.json
  68. /san-francisco/great-star/series/movies.json
  69. /san-francisco/great-star/series/free-community-movie/movies.json
  70. /san-francisco/imax/movies.json
  71. /san-francisco/metreon/movies.json
  72. /san-francisco/metreon/series/movies.json
  73. /san-francisco/roxie/movies.json
  74. /san-francisco/roxie/series/movies.json
  75. /san-francisco/roxie/series/2026-san-francisco-transgender-film-festival/movies.json
  76. /san-francisco/roxie/series/barry-gifford-wild-lives-lost-highways/movies.json
  77. /san-francisco/roxie/series/beautiful-nightmares/movies.json
  78. /san-francisco/roxie/series/being-heumann/movies.json
  79. /san-francisco/roxie/series/colombia-on-film-bajo-el-velo-de-la-ficci-n-under-the-veil-of-fiction/movies.json
  80. /san-francisco/roxie/series/floating-features/movies.json
  81. /san-francisco/roxie/series/her-work-is-never-done/movies.json
  82. /san-francisco/roxie/series/making-marie-antoinette/movies.json
  83. /san-francisco/roxie/series/naza/movies.json
  84. /san-francisco/roxie/series/open-caption-screenings/movies.json
  85. /san-francisco/roxie/series/outlook/movies.json
  86. /san-francisco/roxie/series/roxcine/movies.json
  87. /san-francisco/roxie/series/roxie-kids/movies.json
  88. /san-francisco/roxie/series/silver-screen-club/movies.json
  89. /san-francisco/roxie/series/staff-picks/movies.json
  90. /san-francisco/roxie/series/the-future-according-to-syd-mead/movies.json
  91. /san-francisco/roxie/series/wajda-at-100/movies.json
  92. /san-francisco/series/movies.json
  93. /san-francisco/vogue/movies.json
  94. /san-francisco/vogue/series/movies.json
  95. /santa-cruz/movies.json
  96. /santa-cruz/capitola/movies.json
  97. /santa-cruz/capitola/series/movies.json
  98. /santa-cruz/capitola/series/the-met-live-in-hd/movies.json
  99. /santa-cruz/del-mar/movies.json
  100. /santa-cruz/del-mar/series/movies.json
  101. /santa-cruz/del-mar/series/cine-insomnia-late-shows/movies.json
  102. /santa-cruz/del-mar/series/festival-cinemas/movies.json
  103. /santa-cruz/del-mar/series/netflix-spotlight-at-landmark-theatres/movies.json
  104. /santa-cruz/film/movies.json
  105. /santa-cruz/green-valley/movies.json
  106. /santa-cruz/green-valley/series/movies.json
  107. /santa-cruz/imax/movies.json
  108. /santa-cruz/rio-theatre/movies.json
  109. /santa-cruz/rio-theatre/series/movies.json
  110. /santa-cruz/santa-cruz-cinema/movies.json
  111. /santa-cruz/santa-cruz-cinema/series/movies.json
  112. /santa-cruz/santa-cruz-cinema/series/the-met-live-in-hd/movies.json
  113. /santa-cruz/scotts-valley/movies.json
  114. /santa-cruz/scotts-valley/series/movies.json
  115. /santa-cruz/scotts-valley/series/flashback-cinema/movies.json
  116. /santa-cruz/series/movies.json
  117. /santa-cruz/series/the-met-live-in-hd/movies.json

Shape

The response is a JSON array of Movie objects — no wrapper object, no pagination, no envelope.

Movie

FieldTypeNotes
namestringThe site's own resolved title — TMDB's own spelling when there's a confident match, otherwise whichever theater's own wording was seen first.
descriptionstring | nullTMDB's own synopsis when matched, otherwise the first theater's own words.
release_yearstring | nullThe film's own real release year, e.g. "2025" — from TMDB when matched, otherwise parsed from the theater's own listing when it includes one. Not the year of any particular screening.
runtime_minutesnumber | nullFrom TMDB, when matched — no theater's own page is scraped for runtime.
poster_urlstring | nullTMDB's own poster when matched and available, otherwise whatever image the theater's own page had.
trailer_urlstring | nullA full, playable YouTube URL.
tmdb_idnumber | nullThe Movie Database's own id, when matched.
tmdb_ratingnumber | nullTMDB's own vote average (0–10), not a stuffsac editorial rating.
tmdb_urlstring | nullThat movie's own page on themoviedb.org.
urlstringThis movie's own card on stuffsac, on the same page this movies.json belongs to — not any one theater's ticket page (a movie playing at several theaters has no single "the" outbound link).
showingsShowing[]One entry per theater currently playing it.

Showing

FieldTypeNotes
namestringThis theater's own spelling of the title, verbatim — never overwritten by a confident TMDB match the way the Movie's own name above can be, so it can differ from it (e.g. different capitalization/punctuation).
descriptionstring | nullThis theater's own synopsis text, verbatim — never TMDB's, the way the Movie's own description above can be.
auditoriumstring | nullOnly set for a theater whose own page actually names a specific screen/room.
formatsstring[]The exact same badge text the site shows next to this showing, filtered to just the real projection-format tags, e.g. "35mm", "Laser" — including a "(N)" count suffix (e.g. "Laser (2)") whenever a run genuinely varies across its own showtimes, same as the site's own badge. Each showtime's own formats below carries that session's own plain tag with no count at all. Often empty.
quirksstring[]Same badge text as formats above (count suffix included the same way), but everything that isn't a projection format instead: language/accessibility text (e.g. "English Subtitles"), "Q&A", a theater-wide quirk like "Outdoors". Often empty.
source_urlstringThat theater's own info/ticket page for this run — not a page on stuffsac (contrast the Movie's own url).
regionRegionThe region this showing's theater belongs to.
theaterTheaterThe theater playing it.
seriesSeries | nullSet when this booking belongs to a named series/signature program.
showtimesShowtime[]This booking's entire run, sorted chronologically — already-passed sessions included, same full schedule the site's own page shows, not just what's still upcoming.
first_seen_atstringFull ISO 8601 — when this whole booking was first discovered, frozen from then on. Coarser than each showtime's own first_seen_at below, which is the only one of the three timestamps here that can catch a genuinely new date added to a listing that's already been running a while.
last_seen_atstringFull ISO 8601 — when this listing was last confirmed present by a scrape. Bumps on every scrape regardless of whether anything new was found, so it only answers "is this theater's page still being read successfully," not "is anything new happening" — for that, see first_seen_at above or each showtime's own below.

Region

FieldTypeNotes
sacidstringThis region's own stable identity, e.g. "sacramento", "gold-country", "santa-cruz", "san-francisco".
namestringIts display name, e.g. "Sacramento".
urlstringThis region's own page on stuffsac.

Theater

FieldTypeNotes
sacidstringThis theater's own stable, globally-unique identity (e.g. "sacramento/tower") — use this, not name, to key a lookup.
namestringThe theater's full name, exactly as shown on the site (e.g. "Tower Theater", "Davis Varsity Theater").
short_namestringIts short name, as the site's own filters and headings show it (e.g. "Tower", "Varsity").
colorstringThe color the site gives this theater on the page this file sits beside, as a CSS hex color (e.g. "#4d7c0f").
source_urlstringThe theater's own homepage.
urlstringThis theater's own page on stuffsac.

Series

FieldTypeNotes
sacidstringThis series' own stable, globally-unique identity (e.g. "sacramento/tower:tower-classics", or "santa-cruz:the-met-live-in-hd" for one shared across a region's theaters) — lets you tell apart two independently-named series that happen to share a display name.
namestringThe series' own plain display name, e.g. "Tower Classics" or "Hitchcocktober".
descriptionstring | nullNull when this series has a name but no page/write-up synced yet.
source_urlstring | nullThe theater's own page for this series, when it has one.
film_descriptionstring | nullThis series' own write-up of this showing's film, from the series page — separate from the showing's own description. Null when the series page has none for it.
urlstringThis series' own page on stuffsac — the region-wide page (e.g. /santa-cruz/series/the-met-live-in-hd/) when it plays at more than one theater in its region, otherwise the page under its one theater (e.g. /sacramento/tower/series/hitchcocktober/).

Showtime

FieldTypeNotes
start_onstringYYYY-MM-DD. Always set.
start_atstring | nullFull ISO 8601, only when a specific start time could be resolved — don't assume it's ever populated; fall back to start_on alone.
formatsstring[]This specific session's own real projection-format tags, e.g. "35mm", "IMAX", "Laser". Often empty.
quirksstring[]This specific session's own quirks — everything that isn't a format, e.g. "English Subtitles", "Q&A". Often empty.
first_seen_atstring | nullFull ISO 8601 — when this exact session was first discovered, frozen from then on (even once it's playing or past). Useful for telling a genuinely new showtime apart from one that's just still on the schedule. Null for a session scraped before this field existed.

Example

[
  {
    "name": "When Harry Met Sally",
    "description": "Sex always gets in the way of friendships between men and women. At least, that's what Harry Burns believes...",
    "release_year": "1989",
    "runtime_minutes": 96,
    "poster_url": "https://image.tmdb.org/t/p/w500/rFOiFUhTMtDetqCGClC9PIgnC1P.jpg",
    "trailer_url": "https://www.youtube.com/watch?v=TQpG579MsQ4",
    "tmdb_id": 639,
    "tmdb_rating": 7.4,
    "tmdb_url": "https://www.themoviedb.org/movie/639",
    "url": "https://www.stuffsac.com/sacramento/#tmdb-639-when-harry-met-sally",
    "showings": [
      {
        "name": "When Harry Met Sally",
        "description": "One of the smartest romantic comedies ever written explores the question: \"Can men and women ever just be friends?\"...",
        "auditorium": null,
        "formats": [],
        "quirks": ["English Subtitles"],
        "source_url": "https://angelikafilmcenter.com/tower/movies/details/when-harry-met-sally",
        "region": {
          "sacid": "sacramento",
          "name": "Sacramento",
          "url": "https://www.stuffsac.com/sacramento/"
        },
        "theater": {
          "sacid": "sacramento/tower",
          "name": "Tower Theater",
          "short_name": "Tower",
          "color": "#4d7c0f",
          "source_url": "https://angelikafilmcenter.com/tower/",
          "url": "https://www.stuffsac.com/sacramento/tower/"
        },
        "series": {
          "sacid": "sacramento/tower:tower-classics",
          "name": "Tower Classics",
          "description": "Join us the fourth Monday of each month to relive these iconic flicks on the big screen!",
          "source_url": "https://angelikafilmcenter.com/tower/signature-programming/tower-classics",
          "url": "https://www.stuffsac.com/sacramento/tower/series/tower-classics/",
          "film_description": null
        },
        "showtimes": [
          { "start_on": "2026-12-28", "start_at": "2026-12-28T19:00:00", "formats": [], "quirks": ["English Subtitles"], "first_seen_at": "2026-10-01T09:14:02" }
        ],
        "first_seen_at": "2026-09-14T11:02:00",
        "last_seen_at": "2026-10-11T02:03:00"
      }
    ]
  }
]