Discover/Co API
live

Co APItickets.cinema-city.co.il

Get real-time Cinema City Israel movie schedules, showtimes, and booking links across all branches via a single API endpoint.

This API takes change requests — .
Endpoints
1
Updated
7d ago

What is the Co API?

The Cinema City Israel API exposes 1 endpoint — get_schedule — that returns the full movie schedule across all Cinema City Israel branches, covering movie titles, datetime-formatted showtimes, and direct booking links. Results are grouped by branch name (Hebrew keys such as סינמה סיטי ראשל"צ), making it straightforward to display or compare showtime data per location. The response includes up to 5 response fields per movie object.

This call costs2 credits / call— charged only on success
Try it
Numeric location ID to filter by a specific branch. Use 0 to retrieve all branches. Known IDs include 1173 (Rishon LeZion), 1176 (Netanya), 1178 (Beer Sheva), 1170 (Glilot), 1181 (Ashdod).
Whether to include movie synopsis. Accepts 0 (no synopsis) or 1 (include synopsis).
api.parse.bot/scraper/222a3403-419e-4566-b9fe-f848e9a705ff/<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/222a3403-419e-4566-b9fe-f848e9a705ff/get_schedule' \
  -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 tickets-cinema-city-co-il-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.

"""
Cinema City Israel Schedule API Client
Get your API key from: https://parse.bot/settings
"""

import os
import requests
from typing import Optional, Dict, Any, List
from datetime import datetime


class ParseClient:
    """Client for interacting with the Parse API for Cinema City Israel schedules."""

    def __init__(self, api_key: Optional[str] = None):
        """
        Initialize the Parse API client.

        Args:
            api_key: API key for authentication. If not provided, reads from PARSE_API_KEY env var.
        """
        self.base_url = "https://api.parse.bot"
        self.scraper_id = "222a3403-419e-4566-b9fe-f848e9a705ff"
        self.api_key = api_key or os.getenv("PARSE_API_KEY")
        if not self.api_key:
            raise ValueError("API key must be provided or set in PARSE_API_KEY environment variable")

    def _call(self, endpoint: str, method: str = "POST", **params) -> Dict[str, Any]:
        """
        Make an API call to the Parse API.

        Args:
            endpoint: The endpoint name (e.g., "get_schedule")
            method: HTTP method ("GET" or "POST")
            **params: Query/body parameters for the API call

        Returns:
            Parsed JSON response from the API

        Raises:
            requests.RequestException: If the API request fails
        """
        url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
        headers = {
            "X-API-Key": self.api_key,
            "Content-Type": "application/json"
        }

        if method.upper() == "GET":
            response = requests.get(url, headers=headers, params=params)
        else:  # POST
            response = requests.post(url, headers=headers, json=params)

        response.raise_for_status()
        return response.json()

    def get_schedule(
        self,
        location_id: str = "0",
        include_synopsis: str = "0"
    ) -> Dict[str, List[Dict[str, Any]]]:
        """
        Get the full cinema schedule grouped by branch name.

        Args:
            location_id: Numeric location ID to filter by branch. Use "0" for all branches.
                        Known IDs: 1173 (Rishon LeZion), 1176 (Netanya), 1178 (Beer Sheva),
                        1170 (Glilot), 1181 (Ashdod)
            include_synopsis: Whether to include movie synopsis ("0" or "1")

        Returns:
            Dictionary with branch names as keys and lists of movies as values.
            Each movie contains: movie_title, showtimes, and booking_links
        """
        params = {
            "location_id": location_id,
            "include_synopsis": include_synopsis
        }
        return self._call("get_schedule", method="GET", **params)


def print_cinema_schedule(schedule: Dict[str, List[Dict[str, Any]]], branch_filter: Optional[str] = None):
    """
    Pretty print the cinema schedule.

    Args:
        schedule: Schedule dictionary from the API
        branch_filter: Optional branch name to filter by
    """
    for branch_name, movies in schedule.items():
        if branch_filter and branch_filter.lower() not in branch_name.lower():
            continue

        print(f"\n{'='*60}")
        print(f"🎬 {branch_name}")
        print(f"{'='*60}")

        for movie in movies:
            movie_title = movie.get("movie_title", "Unknown")
            showtimes = movie.get("showtimes", [])
            booking_links = movie.get("booking_links", [])

            print(f"\n  📽️  {movie_title}")
            print(f"     Showtimes:")
            for i, showtime in enumerate(showtimes):
                try:
                    dt = datetime.strptime(showtime, "%Y-%m-%d %H:%M")
                    formatted_time = dt.strftime("%a %d/%m at %H:%M")
                    booking_link = booking_links[i] if i < len(booking_links) else "N/A"
                    print(f"       • {formatted_time} - 🎫 {booking_link}")
                except (ValueError, IndexError):
                    print(f"       • {showtime}")

        print(f"\n{'-'*60}")


def find_upcoming_showtimes(schedule: Dict[str, List[Dict[str, Any]]], movie_title: str) -> List[Dict[str, Any]]:
    """
    Find all upcoming showtimes for a specific movie across all branches.

    Args:
        schedule: Schedule dictionary from the API
        movie_title: Name of the movie to search for

    Returns:
        List of dictionaries with branch, showtime, and booking_link information
    """
    results = []
    for branch_name, movies in schedule.items():
        for movie in movies:
            if movie_title.lower() in movie.get("movie_title", "").lower():
                for i, showtime in enumerate(movie.get("showtimes", [])):
                    booking_links = movie.get("booking_links", [])
                    booking_link = booking_links[i] if i < len(booking_links) else None
                    results.append({
                        "branch": branch_name,
                        "movie_title": movie.get("movie_title"),
                        "showtime": showtime,
                        "booking_link": booking_link
                    })
    return results


if __name__ == "__main__":
    # Initialize the API client
    client = ParseClient()

    print("🎭 Cinema City Israel Schedule Viewer")
    print("=" * 60)

    # Get schedule for all branches
    print("\n📡 Fetching schedule for all branches...")
    schedule = client.get_schedule(location_id="0", include_synopsis="0")

    # Show summary
    total_branches = len(schedule)
    total_movies = sum(len(movies) for movies in schedule.values())
    print(f"✅ Retrieved {total_branches} branches with {total_movies} movies")

    # Show complete schedule for all branches (limit output for demo)
    print("\n📋 Current Schedule:")
    print_cinema_schedule(schedule)

    # Demo: Get schedule for a specific branch (Rishon LeZion - ID 1173)
    print("\n\n🎬 Fetching schedule for Rishon LeZion branch...")
    rishon_schedule = client.get_schedule(location_id="1173", include_synopsis="0")

    if rishon_schedule:
        for branch_name, movies in rishon_schedule.items():
            print(f"\n📍 {branch_name}:")
            print(f"   Movies available: {len(movies)}")
            for movie in movies[:3]:  # Show first 3 movies
                print(f"   • {movie['movie_title']} ({len(movie['showtimes'])} showtimes)")

    # Demo: Search for a specific movie (if available in the schedule)
    print("\n\n🔍 Searching for movies in the schedule...")
    all_schedule = client.get_schedule(location_id="0", include_synopsis="0")

    # Get a sample movie title to search for
    sample_movie = None
    for branch_movies in all_schedule.values():
        if branch_movies:
            sample_movie = branch_movies[0].get("movie_title", "")
            break

    if sample_movie:
        print(f"   Searching for: '{sample_movie}'")
        showtimes = find_upcoming_showtimes(all_schedule, sample_movie)
        if showtimes:
            print(f"   Found {len(showtimes)} showtimes:")
            for showing in showtimes[:5]:  # Show first 5
                print(f"     • {showing['branch']}: {showing['showtime']}")
                if showing['booking_link']:
                    print(f"       Book: {showing['booking_link']}")
All endpoints · 1 totalmissing one? ·

Get the full cinema schedule grouped by branch name. Returns an object where each key is a branch name (e.g. סינמה סיטי ראשל"צ, סינמה סיטי נתניה) and each value is an array of movies with their showtimes and booking links. When location_id is 0, all branches are returned.

Input
ParamTypeDescription
location_idstringNumeric location ID to filter by a specific branch. Use 0 to retrieve all branches. Known IDs include 1173 (Rishon LeZion), 1176 (Netanya), 1178 (Beer Sheva), 1170 (Glilot), 1181 (Ashdod).
include_synopsisstringWhether to include movie synopsis. Accepts 0 (no synopsis) or 1 (include synopsis).
Response
{
  "type": "object",
  "fields": {
    "branch_name (dynamic key)": "object with array of movie objects, each containing movie_title (string), showtimes (array of datetime strings in YYYY-MM-DD HH:MM format), and booking_links (array of URLs)"
  },
  "sample": {
    "סינמה סיטי נתניה": [
      {
        "showtimes": [
          "2026-06-14 22:20",
          "2026-06-15 22:00"
        ],
        "movie_title": "הישרדות ללא תקווה",
        "booking_links": [
          "https://tickets.cinema-city.co.il/order/809760",
          "https://tickets.cinema-city.co.il/order/809767"
        ]
      },
      {
        "showtimes": [
          "2026-06-14 22:30",
          "2026-06-14 22:40"
        ],
        "movie_title": "אובססיה",
        "booking_links": [
          "https://tickets.cinema-city.co.il/order/809762",
          "https://tickets.cinema-city.co.il/order/809750"
        ]
      }
    ]
  }
}

About the Co API

What get_schedule Returns

The get_schedule endpoint returns an object where each key is a branch name in Hebrew (e.g. סינמה סיטי נתניה) and the value is an array of movie objects. Each movie object includes movie_title (string), showtimes (array of datetime strings in YYYY-MM-DD HH:MM format), and a booking link pointing directly to the Cinema City ticketing flow. This structure lets you iterate over branches or drill into a specific cinema with minimal post-processing.

Filtering by Location

The location_id parameter accepts a numeric branch ID as a string. Passing 0 returns all branches in a single response. Known IDs include 1173 for specific branches. When targeting a single branch, the response object will contain only that branch's key and movie array, reducing payload size if you're building a branch-specific view.

Synopsis Support

An optional include_synopsis parameter (accepts "0" or "1") controls whether a text synopsis is appended to each movie object. This is useful when building a full listing page but can be omitted to keep responses lighter when you only need showtimes and booking links.

Coverage and Freshness

The schedule reflects what is currently listed on the Cinema City Israel ticketing site at tickets.cinema-city.co.il. Data is branch-scoped to Israeli Cinema City locations and is not shared with or aware of Cinema City branches in other countries. Showtimes are in local Israeli time.

Reliability & maintenance

The Co API is a managed, monitored endpoint for tickets.cinema-city.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tickets.cinema-city.co.il 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 tickets.cinema-city.co.il 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
  • Display today's showtimes for a specific Cinema City Israel branch in a mobile app using location_id filtering
  • Aggregate booking links across all branches to compare availability for a specific movie title
  • Build a Hebrew-language cinema guide that lists all currently screening movies with their exact start times
  • Send automated alerts when new showtimes are added for a particular movie title at a selected branch
  • Populate a weekly cinema schedule widget with datetime-stamped showtimes from the showtimes array
  • Render movie detail pages with synopsis text by enabling the include_synopsis parameter
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Cinema City Israel have an official developer API?+
Cinema City Israel does not publish a public developer API or API documentation. There is no official endpoint, SDK, or developer portal available from the company.
How are branches identified in the get_schedule response?+
Branches are returned as dynamic top-level keys in the response object, using their Hebrew display names (e.g. סינמה סיטי ראשל"צ). If you need a specific branch rather than all branches, pass its numeric ID string to the location_id parameter — for example, '1173'. Passing '0' returns all branches at once.
Does the API return ticket pricing or seat availability?+
Not currently. The API covers movie titles, showtimes in YYYY-MM-DD HH:MM format, and direct booking links per branch. Ticket pricing and seat-level availability are not included in the response. You can fork this API on Parse and revise it to add an endpoint that retrieves those details.
Are Cinema City branches outside Israel covered?+
No. The API is scoped exclusively to Israeli Cinema City branches listed on tickets.cinema-city.co.il. Cinema City operates locations in other countries (Poland, Czech Republic, Hungary, etc.) but those are not covered here. You can fork this API on Parse and revise it to point at the relevant regional domain for those locations.
What time zone do the showtimes use?+
Showtimes are returned in Israeli local time (Asia/Jerusalem). The format is YYYY-MM-DD HH:MM. The API does not include a UTC offset field alongside each showtime, so your application should apply the Asia/Jerusalem timezone when converting or displaying times.
Page content last updated . Spec covers 1 endpoint from tickets.cinema-city.co.il.
Related APIs in EntertainmentSee all →
store.steampowered.com API
Search Steam Store listings, fetch featured categories (specials, top sellers, new releases), and retrieve app details and user reviews by Steam AppID.
store.epicgames.com API
Access data from store.epicgames.com.
seatgeek.com API
Search for events and performers, view ticket listings with pricing data, and explore venue information across multiple event categories. Get real-time insights into event details, ticket price trends, and what's currently trending to help you find and compare tickets.
poe.ninja API
Access real-time Path of Exile economy data from poe.ninja, including item prices, currency exchange rates, divination card values, market trends, and build statistics by class.
justwatch.com API
Search for movies and TV shows, retrieve streaming availability and detailed metadata, browse trending content, and discover similar titles — all via JustWatch.
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.
ticketone.it API
Browse upcoming events and search for artists or venues on TicketOne.it, then check real-time ticket availability and get detailed event information all in one place. Discover featured events by category or search directly to find events to attend.
cinemark.com API
Search for Cinemark theater locations and movies, then browse showtimes and ticket prices to plan your movie outing. Get detailed information about available films across all US Cinemark locations to compare options and find the perfect showtime for you.