Integrate AI-powered movie recommendations into your applications with our simple and powerful API.
The AI Movie Recommender is a web application that uses AI to help you discover your next favorite movie. The application is built with Next.js, React, and Tailwind CSS. It uses the TMDB API to fetch movie data and the OpenAI API to generate movie recommendations based on your preferences. To get started with the application, simply type in the search bar and press enter. The application will then display a list of movies that match your search query. You can click on a movie to view its details, including its title, release year, genres, and a short summary.
Our API is RESTful and returns responses in JSON format. All API requests must be made over HTTPS.
https://screenpick.fun/api/
All API requests require authentication using an API key. You can obtain an API key by signing up for a developer account on the Screenpick platform.
Include your API key in the Authorization
header of all requests:
Authorization: Bearer YOUR_API_KEY
Keep your API key secure and never expose it in client-side code. Always make API requests from your server.
To ensure fair usage and service stability, the Screenpick API implements rate limiting.
Plan | Rate Limit |
---|---|
Free | 15 requests per day |
Basic | 2,500 requests per day |
Pro | 10,000 requests per day |
Enterprise | Custom limits |
Rate limit information is included in the response headers:
X-RateLimit-Limit
: The maximum number of requests allowed per dayX-RateLimit-Remaining
: The number of requests remaining in the current periodX-RateLimit-Reset
: The time at which the current rate limit window resets (Unix timestamp)/api/search
Get personalized movie recommendations based on a text prompt.
Name | Type | Required | Description |
---|---|---|---|
prompt | string | Yes | The text prompt describing the type of movies the user is looking for. |
{
"movies": [
{
"adult": false,
"backdrop_path": "/wj2nLa0vfS0SLu2vJ6ABTRhMrok.jpg",
"genre_ids": [
18
],
"id": 334541,
"original_language": "en",
"original_title": "Manchester by the Sea",
"overview": "After his older brother passes away, Lee Chandler is forced to return home to care for his 16-year-old nephe...",
"popularity": 37.713,
"poster_path": "/o9VXYOuaJxCEKOxbA86xqtwmqYn.jpg",
"release_date": "2016-11-18",
"title": "Manchester by the Sea",
"video": false,
"vote_average": 7.5,
"vote_count": 5868
}
]
}
curl -X POST https://screenpick.fun/api/search?q=sad+movies+with+time+travel \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Sci-fi movies with time travel",
"limit": 4,
"include_details": true
}'
/api/getID
Get detailed information about a specific movie.
Name | Type | Required | Description |
---|---|---|---|
title | string | Yes | Title of the movie. |
{
"title": "La La Land (2016)",
"imdb": "tt126361",
"tmdb": "34661"
}
curl -X GET https://screenpick.fun/api/getID?title=La+La+Land',
\
-H "Authorization: Bearer YOUR_API_KEY"
The Screenpick API uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g., a required parameter was missing), and codes in the 5xx range indicate an error with our servers.
Code | Description |
---|---|
200 - OK | The request was successful. |
400 - Bad Request | The request was invalid or cannot be otherwise served. |
401 - Unauthorized | Authentication credentials were missing or incorrect. |
403 - Forbidden | The request is understood, but it has been refused or access is not allowed. |
404 - Not Found | The requested resource could not be found. |
429 - Too Many Requests | You have exceeded the rate limit. |
500 - Internal Server Error | Something went wrong on our end. |
When an error occurs, the API will return a JSON object with the following structure:
{
"error": {
"code": "invalid_request",
"message": "The request was invalid. Please check your parameters.",
"details": "The 'prompt' parameter is required."
}
}