'How to get more than 10 search results from the IMDB API?

I am trying to suggest movies to an user who has entered a movie genre, e.g. "horror", "sci-fi", etc. For this, I have written a function that makes an API call towards the IMDB API:

import requests
def search_movies(search, api_key):
    movies = []
    url = "https://imdb-api.com/API/SearchMovie/"+api_key+"/"+search
    response = requests.get(url)
    data = response.json()
    results = data['results']
    for result in results:
        movies.append(result['title'])
    return(movies)

The API only returns 10 search results, which is not enough for what I am trying to achieve. Is there a way to increase this number? I was unable to find any parameters for this on Swagger, and pagination also doesn't seem to be an option, as the request is not made via URL parameters.



Solution 1:[1]

I don't think you can get more results from that unofficial web service. I believe it is better to use the official IMDb API as stated on the official website.

From the IMDb developer website:

Get the latest IMDb data on-demand through our new GraphQL-backed API. Available exclusively via AWS Data Exchange

Solution 2:[2]

You can use AdvancedSearch, which returns up to 250 items. https://imdb-api.com/api#AdvancedSearch-header

Sample:

https://imdb-api.com/API/AdvancedSearch/{API_KEY}?title={TITLE_FOR_SEARCH}&count=250
https://imdb-api.com/API/AdvancedSearch/{API_KEY}?title={TITLE_FOR_SEARCH}&title_type=tv_series&genres=action,adventure&count=250

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Andreas
Solution 2 Haddad