Skip to content

IMDb APIs - Title Chart Rankings (V1)

prod-global
GET
/api/imdb/title-chart-rankings/v1

Retrieve title rankings from IMDb charts (e.g., Top 250).

Typical use cases:

  • View the highest-rated movies and TV shows of all time.

Parameters

NameInTypeRequiredDescription
tokenquerystringYesUser's authentication token.
rankingsChartTypequerystringYesType of rankings chart to retrieve.

Available Values:
- TOP_250: Top 250 Movies
- TOP_250_TV: Top 250 TV Shows
languageCountryquerystringNoLanguage and country preferences.

Available Values:
- en_US: English (US)
- fr_CA: French (Canada)
- fr_FR: French (France)
- de_DE: German (Germany)
- hi_IN: Hindi (India)
- it_IT: Italian (Italy)
- pt_BR: Portuguese (Brazil)
- es_ES: Spanish (Spain)
- es_US: Spanish (US)
- es_MX: Spanish (Mexico)

Code Samples

💡 Environment Note

Default samples use https://api.justoneapi.com (prod-global). For users in Mainland China, it is recommended to replace it with http://47.117.133.51:30015 (prod-cn) for better performance. See Environment Guide.

bash
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
curl -X GET "https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE"
text
I want to use the "Title Chart Rankings (V1)" API from Just One API.
API Endpoint: https://api.justoneapi.com/api/imdb/title-chart-rankings/v1
HTTP Method: GET
Authentication: Append "?token=YOUR_API_KEY" to the URL.
OpenAPI Definition: https://docs.justoneapi.com/openapi/imdb-apis/title-chart-rankings-v1-en.json

Parameters:
- token (query): User's authentication token. (Required)
- rankingsChartType (query): Type of rankings chart to retrieve.

Available Values:
- `TOP_250`: Top 250 Movies
- `TOP_250_TV`: Top 250 TV Shows (Required)
- languageCountry (query): Language and country preferences.

Available Values:
- `en_US`: English (US)
- `fr_CA`: French (Canada)
- `fr_FR`: French (France)
- `de_DE`: German (Germany)
- `hi_IN`: Hindi (India)
- `it_IT`: Italian (Italy)
- `pt_BR`: Portuguese (Brazil)
- `es_ES`: Spanish (Spain)
- `es_US`: Spanish (US)
- `es_MX`: Spanish (Mexico)

Return format: JSON

Response Handling & Error Codes:
1. Business results should be determined by the "code" field in the response body (code 0 means success).
2. Timeout Recommendation: Set request timeout to at least 60 seconds.
3. Business Code Reference:
   - 0: Success
   - 100: Invalid or Inactive Token
   - 301: Collection Failed. Please Retry.
   - 302: Rate Limit Exceeded
   - 303: Daily Quota Exceeded
   - 400: Invalid Parameters
   - 500: Internal Server Error
   - 600: Permission Denied
   - 601: Insufficient Balance

Please help me write a script in my preferred programming language to call this API and handle the response.
python
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import requests

url = "https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE"
response = requests.get(url)
print(response.json())
js
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
const response = await fetch("https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE", {
  method: "GET"
});
const data = await response.json();
console.log(data);
java
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE"))
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
go
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	client := &http.Client{}
	url := "https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE"
	req, _ := http.NewRequest("GET", url, nil)
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
php
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.justoneapi.com/api/imdb/title-chart-rankings/v1?token=YOUR_API_KEY&rankingsChartType=VALUE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

json
{
  "code": 0,
  "data": {
    "titleChartRankings": {
      "edges": [
        {
          "node": {
            "item": {
              "__typename": "Title",
              "id": "tt0111161",
              "titleText": {
                "text": "The Shawshank Redemption",
                "isOriginalTitle": true
              },
              "originalTitleText": {
                "text": "The Shawshank Redemption",
                "isOriginalTitle": true
              },
              "releaseYear": {
                "__typename": "YearRange",
                "year": 1994,
                "endYear": null
              },
              "releaseDate": {
                "__typename": "ReleaseDate",
                "month": 10,
                "day": 14,
                "year": 1994,
                "country": {
                  "id": "US"
                },
                "restriction": null,
                "attributes": [],
                "displayableProperty": {
                  "qualifiersInMarkdownList": null
                }
              },
              "titleType": {
                "__typename": "TitleType",
                "id": "movie",
                "text": "Movie",
                "categories": [
                  {
                    "id": "movie",
                    "text": "Movie",
                    "value": "movie"
                  }
                ],
                "canHaveEpisodes": false,
                "isEpisode": false,
                "isSeries": false,
                "displayableProperty": {
                  "value": {
                    "plainText": ""
                  }
                }
              },
              "primaryImage": {
                "__typename": "Image",
                "id": "rm1690056449",
                "url": "https://m.media-amazon.com/images/M/MV5BMDAyY2FhYjctNDc5OS00MDNlLThiMGUtY2UxYWVkNGY2ZjljXkEyXkFqcGc@...",
                "height": 1800,
                "width": 1200
              },
              "canRate": {
                "isRatable": true
              },
              "ratingsSummary": {
                "voteCount": 3165732,
                "aggregateRating": 9.3,
                "topRanking": {
                  "rank": 1
                }
              }
            },
            "chartRating": 9.239942913183347,
            "chartVoteCount": 3165758
          }
        }
      ]
    }
  }
}

💡 Note: For list data, the example shows only 1-2 items for simplicity. The actual count depends on the API response.