{"id":25255494,"url":"https://github.com/matt0550/eurostreamingapi-scraping","last_synced_at":"2025-04-05T23:44:16.203Z","repository":{"id":254330242,"uuid":"845687282","full_name":"Matt0550/EurostreamingAPI-scraping","owner":"Matt0550","description":"An unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series. Using FastAPI and BeautifulSoup.","archived":false,"fork":false,"pushed_at":"2025-01-20T22:52:17.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T06:02:09.228Z","etag":null,"topics":["fastapi","python","rest-api","scraping","streaming"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Matt0550.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Matt0550","patreon":null,"open_collective":null,"ko_fi":"matt05","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"matt0550","thanks_dev":null,"custom":["paypal.me/sillittimatteo"]}},"created_at":"2024-08-21T18:21:58.000Z","updated_at":"2025-01-20T22:52:20.000Z","dependencies_parsed_at":"2025-02-12T05:56:28.394Z","dependency_job_id":"49e33569-9b8d-48cc-9521-add83c32a90a","html_url":"https://github.com/Matt0550/EurostreamingAPI-scraping","commit_stats":null,"previous_names":["matt0550/eurostreamingapi-scraping"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matt0550%2FEurostreamingAPI-scraping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matt0550%2FEurostreamingAPI-scraping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matt0550%2FEurostreamingAPI-scraping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matt0550%2FEurostreamingAPI-scraping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Matt0550","download_url":"https://codeload.github.com/Matt0550/EurostreamingAPI-scraping/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415922,"owners_count":20935385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","python","rest-api","scraping","streaming"],"created_at":"2025-02-12T05:56:23.052Z","updated_at":"2025-04-05T23:44:16.184Z","avatar_url":"https://github.com/Matt0550.png","language":"Python","funding_links":["https://github.com/sponsors/Matt0550","https://ko-fi.com/matt05","https://buymeacoffee.com/matt0550","paypal.me/sillittimatteo","https://www.buymeacoffee.com/Matt0550","https://paypal.me/sillittimatteo"],"categories":[],"sub_categories":[],"readme":"[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![Discord][discord-shield]][discord-url]\n[![Docker Pulls][docker-shield]][docker-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Matt0550/EurostreamingAPI-scraping\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Matt0550/public-gaac/main/uploads/eurostreaming_scraping_api_logo_unofficial.png\" alt=\"Logo\" height=\"40\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eEurostreaming Unofficial REST API \u0026 WebApp\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    An unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series. Using FastAPI and BeautifulSoup.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/Matt0550/EurostreamingAPI-scraping/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Matt0550/EurostreamingAPI-scraping/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nAll the data is scraped from the Eurostreaming website. This project is for educational purposes only. I do not condone piracy in any way. Please use this project responsibly. \n\nCopyright and all rights belong to the respective owners.\n\n\n# EurostreamingAPI-scraping\n\nAn unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series. Using FastAPI and BeautifulSoup.\n\n## Features\n\n- Get all series per page\n- Search for series\n- Get the list of seasons and episodes of a series and related links to watch them\n\n## API Endpoints\n\n- `/shows/{page}`: Get all series per page. Page is an integer and is required.\n- `/search?q={query}\u0026page={page}`: Search for series. Query is a string and is required. Page is an integer and is optional.\n- `/show?path={show_path}\u0026alsoEpisodes={alsoEpisodes}`: Get the list of seasons and episodes of a series and related links to watch them. Show_path is a string and is required. AlsoEpisodes is a boolean and is optional, default is true.\n\n\u003e [!TIP]\n\u003e The API is self-documented. You can access the Swagger UI at `/docs` and the ReDoc UI at `/redoc`.\n\n## WebApp\nA WebApp is now available as a Telegram Mini App. Check out the repository [here](https://github.com/Matt0550/Eurostreaming-telegramBot).\n\nDemo video:\n\nhttps://github.com/user-attachments/assets/38c202f8-6bcc-4983-8847-cf5aaf0d9d2a\n\n## TO-DO\n- [X] Add Dockerfile\n- [X] Add Docker Compose\n- [X] Add WebApp (Now available as a Telegram Mini App. Check it out [here](https://github.com/Matt0550/Eurostreaming-telegramBot))\n- [ ] Add show categories\n\n\n## Public instance of the API\nCurrently, I’m unable to provide a public instance of the API because web scraping is not permitted by the Eurostreaming website and is considered unethical. To avoid any potential issues or conflicts, I’ve decided not to make the bot publicly accessible. I apologize for any inconvenience this may cause and appreciate your understanding.\n\n\n## Environment Variables (docker)\n| Variable | Description | Default |\n| :--- | :--- | :--- |\n| `PUID` | User ID | `1000` |\n| `PGID` | Group ID | `1000` |\n\n## Installation - Using Docker Compose (recommended)\nClone the project\n\n```yml\nversion: '3'\n\nservices:\n  eurostreaming_scraping:\n    image: matt0550/eurostreamingapi-scraping\n    environment:\n      - PUID=1000     # UID of the user inside the container, make sure it has access to the database file\n      - PGID=1000     # GID of the user inside the container, make sure it has access to the database file\n    ports:\n      - 5000:5000\n    restart: unless-stopped\n```\n\nRun the container with `docker-compose up -d`\n\n## Installation - Using Docker Run\nPull the image\n\n```bash\n  docker run -d -p 5000:5000 -e PUID=1000 -e PGID=1000 matt0550/eurostreamingapi-scraping\n```\n\n## Installation - Self-Host or docker build\n\nClone the project\n\n```bash\n  git clone https://github.com/Matt0550/EurostreamingAPI-scraping\n```\n\nGo to the project directory\n\n```bash\n  cd EurostreamingAPI-scraping-master\n```\n\nOPTIONAL: use docker to build the image\nIf you don't want to use docker, you can just go ahead and skip this step.\nOtherwise, change the `image` in `docker-compose.yml` with the image name you used.\nRun the container with `docker-compose up -d`\n\n```bash\n  docker build -t eurostreamingAPI-scraping .\n```\n\nInstall dependencies\n\n```bash\n  pip install -r requirements.txt\n```\n\nStart the REST API (after setting the environment variables)\n\n```bash\n  cd api\n  fastapi run api.py\n```\n\n## Help - feedback\nYou can contact me on:\n\nDiscord: https://matt05.it/discord\n\nTelegram: https://matt05.it/telegram\n\nMail: \u003ca href=\"mailto:mail@matteosillitti.com\"\u003email@matteosillitti.com\u003c/a\u003e\n\n## License\n\n[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)\n\n## Support me\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/matt05)\n\n[![buy-me-a-coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/Matt0550)\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://paypal.me/sillittimatteo)\n\n[contributors-shield]: https://img.shields.io/github/contributors/Matt0550/EurostreamingAPI-scraping.svg?style=for-the-badge\n[contributors-url]: https://github.com/Matt0550/EurostreamingAPI-scraping/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/Matt0550/EurostreamingAPI-scraping.svg?style=for-the-badge\n[forks-url]: https://github.com/Matt0550/EurostreamingAPI-scraping/network/members\n[stars-shield]: https://img.shields.io/github/stars/Matt0550/EurostreamingAPI-scraping.svg?style=for-the-badge\n[stars-url]: https://github.com/Matt0550/EurostreamingAPI-scraping/stargazers\n[issues-shield]: https://img.shields.io/github/issues/Matt0550/EurostreamingAPI-scraping.svg?style=for-the-badge\n[issues-url]: https://github.com/Matt0550/EurostreamingAPI-scraping/issues\n[license-shield]: https://img.shields.io/github/license/Matt0550/EurostreamingAPI-scraping.svg?style=for-the-badge\n[license-url]: https://github.com/Matt0550/EurostreamingAPI-scraping/blob/master/LICENSE\n[discord-shield]: https://img.shields.io/discord/828990499507404820?style=for-the-badge\n[discord-url]: https://matt05.it/discord\n[docker-shield]: https://img.shields.io/docker/pulls/matt0550/eurostreamingapi-scraping?style=for-the-badge\n[docker-url]: https://hub.docker.com/r/matt0550/eurostreamingapi-scraping\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatt0550%2Feurostreamingapi-scraping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatt0550%2Feurostreamingapi-scraping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatt0550%2Feurostreamingapi-scraping/lists"}