Search Movies

Premium Movie Database

Premium Movie Database

Search for any movie, TV show or person. Discover ratings, reviews, trailers and more.

Search Results

Trending This Week

How To Use Kedne Movie Database Tool

1

Search for Movies

Type in the search box to instantly find movies, TV shows, or actors. Results appear as you type.

2

Browse Trending Content

Check out the trending movies section for popular content updated weekly.

3

View Details

Click any movie to see detailed information including trailers, cast, reviews and more.

${movie.title}

${movie.release_date ? movie.release_date.substring(0, 4) : 'N/A'} ${movie.vote_average.toFixed(1)}
`; movieCard.addEventListener('click', () => showMovieDetails(movie.id)); container.appendChild(movieCard); }); } // Show movie details modal async function showMovieDetails(movieId) { try { loader.style.display = 'block'; document.body.style.overflow = 'hidden'; const [movieDetails, credits, videos, reviews, similar, keywords, releaseDates] = await Promise.all([ fetch(`${BASE_URL}/movie/${movieId}?api_key=${API_KEY}&append_to_response=release_dates`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/credits?api_key=${API_KEY}`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/videos?api_key=${API_KEY}`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/reviews?api_key=${API_KEY}`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/similar?api_key=${API_KEY}`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/keywords?api_key=${API_KEY}`).then(res => res.json()), fetch(`${BASE_URL}/movie/${movieId}/release_dates?api_key=${API_KEY}`).then(res => res.json()) ]); const trailer = videos.results.find(video => video.type === 'Trailer' && video.site === 'YouTube'); const certification = getCertification(releaseDates); const directors = credits.crew.filter(person => person.job === 'Director'); const writers = credits.crew.filter(person => person.job === 'Writer' || person.job === 'Screenplay'); const cinematographers = credits.crew.filter(person => person.job === 'Director of Photography'); const composers = credits.crew.filter(person => person.job === 'Original Music Composer'); const editors = credits.crew.filter(person => person.job === 'Editor'); const topCast = credits.cast.slice(0, 10); modalContent.innerHTML = ` `; movieModal.style.display = 'block'; loader.style.display = 'none'; } catch (error) { console.error('Error fetching movie details:', error); loader.style.display = 'none'; } } // Helper function to get certification function getCertification(releaseDates) { if (!releaseDates || !releaseDates.results) return null; const usRelease = releaseDates.results.find(r => r.iso_3166_1 === 'US'); if (!usRelease || !usRelease.release_dates) return null; const theatricalRelease = usRelease.release_dates.find(rd => rd.type === 3); return theatricalRelease ? theatricalRelease.certification : null; } // Helper function to get distributors function getDistributors(releaseDates) { if (!releaseDates || !releaseDates.results) return 'N/A'; const distributors = new Set(); releaseDates.results.forEach(country => { if (country.release_dates && country.release_dates.length > 0) { country.release_dates.forEach(rd => { if (rd.company) { distributors.add(rd.company); } }); } }); return distributors.size > 0 ? Array.from(distributors).join(', ') : 'N/A'; } // Helper function to get technical specs function getTechnicalSpecs(movieDetails, spec) { // This would normally come from additional API calls // For demo purposes, we'll return placeholder values switch(spec) { case 'sound_mix': return 'Dolby Digital'; case 'aspect_ratio': return '2.39:1'; default: return 'N/A'; } } // Helper function to get filming locations function getFilmingLocations(movieDetails) { // This would normally come from additional API calls // For demo purposes, we'll return placeholder values return movieDetails.production_countries.map(c => c.name).join(', ') || 'N/A'; } // Helper function to get filming dates function getFilmingDates(movieDetails) { // This would normally come from additional API calls // For demo purposes, we'll return placeholder values return movieDetails.release_date ? new Date(movieDetails.release_date).getFullYear() : 'N/A'; }