imdb-api

command module
v0.0.0-...-f02f0c9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: MIT Imports: 4 Imported by: 0

README ΒΆ

IMDb-API

Go.Dev reference tests CodeFactor Go Report Card License Contribute

A cross-platform Go microservice to scrape the IMDb website.

Warning
Keep in mind this app does not have rate-limiting or authentication features to protect itself against spams.
The end-users should not have direct access to its interface unless you understand what you're doing.

Features

  • Proxy support
  • Swagger documentation
  • Slug generator
  • In-memory caching
  • CLI tool
  • Docker Hub image

Installation

You can always download the latest binary version from the releases page.

If you're going to build the project on your own, here are the pre-requirements:

Once you have installed and configured them (if necessary), execute the following commands:

git clone https://github.com/Scrip7/imdb-api.git
cd imdb-api
cp .env.example .env
go run main.go

Coverage

We have listed the IMDb website routes that can potentially use to collect data. Because this is a reverse-engineered project, things might break unexpectedly.
Therefore, we keep this list updated along with the new features we introduce or when we encounter new bugs to visualize our extensive coverage.

Feel free to come back and check it in the future!

βœ… Done.

🚧 Under development.

πŸ’­ The route is known, but we haven't thoroughly thought about how to implement it yet!

😱 It broke! (IMDb changed its response structure, it needs minor changes or re-implementation)

❌ Failed to implement.

URL (prefix: imdb.com) Scope Page Title Module Status Tests
/title/:id Title Index index βœ… βœ…
/title/:id/mediaindex Title Photo Gallery photos βœ… βœ…
/title/:id/videogallery Title Video Gallery - πŸ’­ -
/title/:id/news Title News - πŸ’­ -
/title/:id/fullcredits Title Full Cast & Crew - πŸ’­ -
/title/:id/releaseinfo Title Release Info (Dates) - πŸ’­ -
/title/:id/externalsites Title External Sites - πŸ’­ -
/title/:id/companycredits Title Company Credits - πŸ’­ -
/title/:id/locations Title Filming & Production - πŸ’­ -
/title/:id/technical Title Technical Specifications - πŸ’­ -
/title/:id/taglines Title Taglines taglines βœ… βœ…
/title/:id/plotsummary Title Plot Summary - πŸ’­ -
/title/:id/keywords Title Plot Keywords keywords βœ… βœ…
/title/:id/parentalguide Title Parents Guide - πŸ’­ -
/title/:id/trivia Title Trivia - πŸ’­ -
/title/:id/trgoofsivia Title Goofs - πŸ’­ -
/title/:id/crazycredits Title Crazy Credits crazycredits βœ… βœ…
/title/:id/quotes Title Quotes - πŸ’­ -
/title/:id/alternateversions Title Alternate Versions - πŸ’­ -
/title/:id/movieconnections Title Connections - πŸ’­ -
/title/:id/soundtrack Title Soundtracks - πŸ’­ -
/title/:id/awards Title Awards - πŸ’­ -
/title/:id/faq Title FAQ - πŸ’­ -
/title/:id/reviews Title User Reviews - πŸ’­ -
/title/:id/ratings Title User Ratings - πŸ’­ -
/title/:id/externalreviews Title External Reviews - πŸ’­ -
/title/:id/episodes Title Episode List - πŸ’­ -
/title/:id/tvschedule Title Schedule - πŸ’­ -
/search/title Search Title - πŸ’­ -
/search/name Search Name - πŸ’­ -
/search/common Search Collaborations - πŸ’­ -
/chart/boxoffice Chart Box Office boxoffice βœ… βœ…
/chart/moviemeter Chart Most Popular Movies moviemeter βœ… βœ…
/chart/top Chart Top 250 Movies common βœ… βœ…
/chart/toptv Chart Top Rated TV Shows common βœ… βœ…
/chart/top-english-movies Chart Top Rated English Movies common βœ… βœ…
/chart/bottom Chart Lowest Rated Movies common βœ… βœ…
/news/top News Top - πŸ’­ -
/news/movie News Movie - πŸ’­ -
/news/tv News TV - πŸ’­ -
/news/celebrity News Celebrity - πŸ’­ -
/news/indie News Indie - πŸ’­ -
/india/upcoming Indian Most Anticipated New Movies/Shows - πŸ’­ -
/india/top-rated-indian-movies Indian Top Rated Movies - πŸ’­ -
/india/top-rated-malayalam-movies Indian Top Rated Malayalam Movies - πŸ’­ -
/india/top-rated-tamil-movies Indian Top Rated Tamil Movies - πŸ’­ -
/india/top-rated-telugu-movies Indian Top Rated Telugu Movies - πŸ’­ -
/india/tamil Indian Trending Tamil Movies - πŸ’­ -
/india/telugu Indian Trending Telugu Movies - πŸ’­ -
/event/all Event All Events Alphabetically - πŸ’­ -
/calendar - Upcoming Releases - πŸ’­ -

Is a route missing? Feel free to open a new issue to let us know!

Note Please check that the issue has not already been reported to prevent duplication.

Docker usage

Placeholder.

Motivation

My teacher signed me on a project when I was a junior programmer.
I had to make a Social platform bot (like Telegram or Discord bots) where users could search for Movies and TV Series, look up their detail, create playlists, and share them with others.

After smashing my head onto the keyboard for almost two weeks and a half, I finally found a free IMDb API, which stopped working after a while.

Back in the day, I didn't know how to integrate my application to the IMDb website properly, so sadly, I had to abandon the project.
But now, when I look back at it after many years, I can imagine how hard it could be if someone tries to develop an application sightly or even heavily dependent on the IMDb website.

There are so many reverse-engineered, untrustworthy platforms out there that would take your money in exchange for providing an unstable API. So I thought of developing a microservice that developers could use in the software they're trying to create.

I didn't profoundly plan how I would create such an application.
But because I was motivated, I created its repository and will slowly work on building small chunks of it, starting from the documentation and overall expectations.

Side note:
I came from having six years of TypeScript experience to Golang, and this project is one of my early projects using this language.
I chose it because it is more performant and efficient and can compile the packages and their dependencies into a single executable binary.
I'm not confident about my coding approaches, maybe I'm stuck with JS strategies in my head, but I'm excited about how it will end up.

FAQ

Can I contribute to make IMDb-API better?

Please do! We are looking for any kind of contribution to improve IMDb-API's core functionality and documentation. When in doubt, make a PR!

Disclaimer

The "IMDb-API" repository is not affiliated, authorized, maintained, or endorsed by the IMDb or any of its affiliates or subsidiaries (including Amazon).
This unofficial independent project is published as it is.
Therefore, use it at your own risk and respect the copyrights of their content.

For more information, please refer to IMDb's Conditions of data usage.

License

See the LICENSE file for more information.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL