Selikur API

This is an unofficial API for Cineplex 21 website. This is just a hobby project for learning kotlin on the server side.

Dependencies

API Endpoints

Endpoint Method Type Description
/movies GET JSON Show currently playing movies
/movies/upcoming GET JSON Show upcoming movies
/movies/{movieId} GET JSON Show specific movie details
/movies/{movieId}/theaters/{cityId} GET JSON Show theaters that play specific movie in specific city
/cities GET JSON Show cities that have Cineplex 21 theaters
/cities/{cityId} GET JSON Show list of theaters in specific city
/theaters/{theaterId} GET JSON Show specific theater details (address, schedules, etc.)

Caching

To ease the load on the source website, this api implements an in-memory caching for each unique endpoint. The cache will have maxAge of 3600 seconds or an hour

Payload Samples

/movies, /movies/upcoming

[
    {
        "id": "12IVAA",
        "title": "IVANNA",
        "image": "https://web3.21cineplex.com/movie-images/12IVAA.jpg",
        "rating": "D17+",
        "type": "2D"
    },
    .
    .
    .
    {
        "id": "20TGMK",
        "title": "TOP GUN: MAVERICK",
        "image": "https://web3.21cineplex.com/movie-images/20TGMK.jpg",
        "rating": "SU",
        "type": "2D"
    }
]

/movies/{movieId}

{
	"id": "21BPHE",
	"title": "THE BLACK PHONE",
	"image": "https://web3.21cineplex.com/movie-images/21BPHE.jpg",
	"rating": "D17+",
	"type": "2D",
	"genre": [
		"Horror",
		"Thriller"
	],
	"duration": "103 Minutes",
	"trailer": "https://web3.21cineplex.com/movie-trailer/21BPHE.mp4",
	"summary": "Setelah diculik dan dikunci di ruang bawah tanah, seorang anak laki-laki berusia 13 tahun mulai menerima panggilan telepon yang terputus dari korban-korban sebelumnya.",
	"producers": [
		"Jason Blum",
		"C. Robert Cargill",
		"Scott Derrickson"
	],
	"directors": [
		"Scott Derrickson"
	],
	"writers": [
		"Scott Derrickson",
		"C. Robert Cargill"
	],
	"casts": [
		"Ethan Hawke",
		"Jeremy Davies",
		"Mason Thames",
		"James Ransone",
		"Madeleine Mcgraw",
		"Kellan Rhude",
		"Banks Repeta",
		"Braxton Alexander",
		"J. Gaven Wilde"
	],
	"distributors": [
		"Universal Pictures"
	]
}

/cities

[
    {
        "id": "32",
        "name": "AMBON"
    },
    .
    .
    .
    {
        "id": "23",
        "name": "YOGYAKARTA"
    }
]

/movies/{movieId}/theaters/{cityId}, /cities/{cityId}

{
    "id": "4",
    "name": "BEKASI",
    "xxi": [
        {
            "id": "BKSCICI",
            "name": "CIPUTRA CIBUBUR XXI"
        },
        .
        .
        .
        {
            "id": "BKSTRJU",
            "name": "TRANSPARK MALL JUANDA XXI"
        }
    ],
    "premiere": [
        {
            "id": "BKSPRCC",
            "name": "CIPUTRA CIBUBUR PREMIERE"
        },
        .
        .
        .
        {
            "id": "BKSPRSB",
            "name": "SUMMARECON MAL BEKASI PREMIERE"
        }
    ],
    "imax": [
        {
            "id": "BKSIXSB",
            "name": "SUMMARECON MAL BEKASI IMAX"
        },
        .
        .
        .
    ]
}

/theaters/{theaterId}

{
    "id": "BKSMEBE",
    "name": "MEGA BEKASI XXI",
    "address": "MEGA BEKASI HYPER MALL LT. 5, JL. A . YANI NO.1",
    "phoneNo": "(021) 889 666 21",
    "longlat": [
        "-6.249664",
        "106.993178"
    ],
    "schedules": [
        {
            "movie": {
                "id": "12IVAA",
                "title": "IVANNA",
                "image": "https://web3.21cineplex.com/movie-images/12IVAA.jpg",
                "rating": "D17+",
                "type": "2D"
            },
            "duration": "103 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "12:30",
                "14:45",
                "17:00",
                "19:15",
                "21:30"
            ]
        },
        {
            "movie": {
                "id": "21MAUN",
                "title": "THE MAURITANIAN",
                "image": "https://web3.21cineplex.com/movie-images/21MAUN.jpg",
                "rating": "D17+",
                "type": "2D"
            },
            "duration": "129 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "13:00",
                "15:40",
                "18:20",
                "21:00"
            ]
        },
        {
            "movie": {
                "id": "11PPEA",
                "title": "PERJALANAN PERTAMA",
                "image": "https://web3.21cineplex.com/movie-images/11PPEA.jpg",
                "rating": "SU",
                "type": "2D"
            },
            "duration": "112 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "13:45",
                "16:05",
                "18:25",
                "20:45"
            ]
        },
        {
            "movie": {
                "id": "22TLAT",
                "title": "THOR: LOVE AND THUNDER",
                "image": "https://web3.21cineplex.com/movie-images/22TLAT.jpg",
                "rating": "R13+",
                "type": "2D"
            },
            "duration": "119 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "11:45",
                "12:15",
                "12:45",
                "13:15",
                "14:15",
                "14:45",
                "15:15",
                "15:45",
                "16:45",
                "17:15",
                "17:45",
                "18:15",
                "19:15",
                "19:45",
                "20:15",
                "20:45",
                "21:45"
            ]
        },
        {
            "movie": {
                "id": "20MTRG",
                "title": "MINIONS 2: THE RISE OF GRU",
                "image": "https://web3.21cineplex.com/movie-images/20MTRG.jpg",
                "rating": "SU",
                "type": "2D"
            },
            "duration": "87 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "12:00",
                "12:30",
                "14:00",
                "14:30",
                "16:00",
                "16:30",
                "18:00",
                "18:30",
                "20:00",
                "20:30"
            ]
        },
        {
            "movie": {
                "id": "21BPHE",
                "title": "THE BLACK PHONE",
                "image": "https://web3.21cineplex.com/movie-images/21BPHE.jpg",
                "rating": "D17+",
                "type": "2D"
            },
            "duration": "103 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "13:35",
                "18:50"
            ]
        },
        {
            "movie": {
                "id": "22JWDN",
                "title": "JURASSIC WORLD DOMINION",
                "image": "https://web3.21cineplex.com/movie-images/22JWDN.jpg",
                "rating": "R13+",
                "type": "2D"
            },
            "duration": "147 Minutes",
            "price": "Rp 35,000",
            "date": "14-07-2022",
            "time": [
                "15:50",
                "21:05"
            ]
        }
    ]
}

GitHub

View Github