{"id":47843423,"url":"https://github.com/cool-dev-guy/vidsrc-api","last_synced_at":"2026-04-03T21:03:11.432Z","repository":{"id":216741753,"uuid":"742208061","full_name":"cool-dev-guy/vidsrc-api","owner":"cool-dev-guy","description":"A working vidsrc.to/vidsrc.me extractor as an api. Proof of concept and educational.(depreciated) instead use https://github.com/cool-dev-guy/vidsrc.ts","archived":false,"fork":false,"pushed_at":"2024-09-16T06:01:22.000Z","size":130,"stargazers_count":74,"open_issues_count":0,"forks_count":119,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-09-17T07:10:47.696Z","etag":null,"topics":["api","api-rest","fastapi","movie","python","python3","scraper","series","vidsrc","vidsrc-api"],"latest_commit_sha":null,"homepage":"https://github.com/cool-dev-guy/vidsrc.ts","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/cool-dev-guy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-01-12T01:14:57.000Z","updated_at":"2024-09-16T06:01:25.000Z","dependencies_parsed_at":"2024-04-11T16:49:44.900Z","dependency_job_id":null,"html_url":"https://github.com/cool-dev-guy/vidsrc-api","commit_stats":null,"previous_names":["cool-dev-guy/vidsrc-api"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cool-dev-guy/vidsrc-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-dev-guy%2Fvidsrc-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-dev-guy%2Fvidsrc-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-dev-guy%2Fvidsrc-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-dev-guy%2Fvidsrc-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cool-dev-guy","download_url":"https://codeload.github.com/cool-dev-guy/vidsrc-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-dev-guy%2Fvidsrc-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31377189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","api-rest","fastapi","movie","python","python3","scraper","series","vidsrc","vidsrc-api"],"created_at":"2026-04-03T21:03:10.800Z","updated_at":"2026-04-03T21:03:11.408Z","avatar_url":"https://github.com/cool-dev-guy.png","language":"Python","funding_links":["https://www.buymeacoffee.com/cooldevguy","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"readme":"# vidsrc-api\n### `IMPORTANT`\n## UPDATE : PROJECT ABANDONED FOR LIMITED TIME\n#### `MOVED TO` [https://github.com/cool-dev-guy/vidsrc.ts](https://github.com/cool-dev-guy/vidsrc.ts)\n- The providers changed a lot in their code structure.\n- And vidsrc.to is no more...\n- So project moved to NEW [https://github.com/cool-dev-guy/vidsrc.ts](https://github.com/cool-dev-guy/vidsrc.ts)\n  - WHAT'S NEW ?\n    - Code base shifted to use typescript(node/deno compatible)\n    - Fast execution and simple to read code structure.\n\n[![Status](https://img.shields.io/badge/status-running-red)](https://api-movie-source.vercel.app/)\n[![Deployment](https://img.shields.io/badge/deployment-success-blue)](https://api-movie-source.vercel.app/)\n\n`STATUS`- `WORKING` - `(UPDATED MAR/31/24)`\n- Added stable fixes for most of the sources so it wont break too often.\n- Everything Works currently and the speed has also increased in the latest commit dut o use of non-blocking async functions.\n- Still the code may have some bugs,so feel free to post bugs in the issue section :)\n\nA simple web scrapper based on this [resolver](https://github.com/Ciarands).\n\n## About\n\n- ### Deploying methods.\n  \n    - #### _Any Platform_\n      Project specifically made to run on vercel,but easy to deploy on other platforms.Just check the running fastapi on the specific platform.\n\n    - #### _Vercel_\n      Project is easy to deploy on vercel.\n \n      1. `Fork` this `repo`.\n      2. Open vercel and create `new project` and choose your `forked repo`.\n      3. Use the default settings and click `deploy`.\n      4. Your build will `surely fail` because of [this](https://github.com/orgs/vercel/discussions/6287)\n         \n         ![img](https://raw.githubusercontent.com/cool-dev-guy/project-docs/main/vidsrc-api/st1.png)\n         \n          *_vercel's latest update.Node.js version 20.x dosent fully support python._\n      6. Now open the project's settings and scroll down.Now you can see a row caled `Node Version`.\n          `CHANGE it to 18.x`\n         \n         ![img](https://raw.githubusercontent.com/cool-dev-guy/project-docs/main/vidsrc-api/st2.png)\n         \n         *_there's an detailed explanation in this issue [link](https://github.com/cool-dev-guy/vidsrc-api/issues/12#issuecomment-2032147362)_\n    \n    - #### _Vercel easy_\n      Or if vercel fixes this bug,you can use this button.But vercel didnt fix this yet.\n  \n      [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/cool-dev-guy/vidsrc-api)\n  \n      `IMPORTANT `: Vercel is facing a bug recently so setting node version to `18.x` is a fix for it.\n  \n      *_there's an detailed explanation in this issue [link](https://github.com/cool-dev-guy/vidsrc-api/issues/12#issuecomment-2032147362)_\n      \n- ### Running it locally\n\n  1.Fork and Clone the repo.\n  \n  2.Create a virtial env if you want.\n\n  3.install the deps.[`pip install -r requirements.txt`]\n\n  4.open `models/utils.py` and change the value of `BASE` to your `api-base-url`/`deployment-base-url`.( for subtitle )\n  \n  5.install `uvicorn` via `pip install uvicorn` \u0026 run it using uvicorn.[`uvicorn main:app --reload --port=8000`]\n\n- If you liked the project and updates `buy me a coffee` :)\n\n    \u003ca href=\"https://www.buymeacoffee.com/cooldevguy\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a cool-milk\u0026emoji=🥛\u0026slug=cooldevguy\u0026button_colour=222222\u0026font_colour=ffffff\u0026font_family=Lato\u0026outline_colour=ffffff\u0026coffee_colour=FFDD00\" /\u003e\u003c/a\u003e\n\n- If any issues,drop an issue on `github issues`.\n\n### FEATURES\n```\n- async support - Most process are async but still some fixes are needed.\n- very fast results\n- subtitle support for every sources.\n```\n### NOTES\n```\n- Dont overload the deployment.\n- This api is made for educational purpouse only. This is just a simple scrapper built arround `https://github.com/Ciarands` vidsrc downloader.This project was only made to prevent ads and redirects caused by the `iframe`s\n- This api isnt a copy of the inspired project,but its a complete reqrite of code to make it work as an api and use async style to give vary fast results.\n- Dont perform bulk request to the api and store the m3u8's returned,cuz they may not work after 24 hours or so.This api scrape websites that have `video on demand` feature so storing it is useless.\n```\n### USAGE (`GET`)\n- example base url:\n  https://api.vercel.app\n\n- endpoints:\n  - `/vidsrc/{db_id}`  - vidsrc.to\n  - `/vsrcme/{db_id}`  - vidsrc.me\n  - `/streams/{db_id}` - get streams from all 4 sources in one request.\n  - `/subs/?url={subtitle_url@opensubtitles.org}`\n\n- parameters:\n  - `s` - season (series only)\n  - `e` - episodes (series only)\n  - `l` - language(subtitle)\n\n- example url (movie) : `https://api.vercel.app/vidsrc/ttXXXXXX`\n- example url (series) : `https://api.vercel.app/vidsrc/ttXXXXXX?s=1\u0026e=2`\n### RESPONSE SCEMA\n\u003e [UPDATE] Added a common response scheam for the endpoints,so every source is an element of an array.And the api retruns an array.\n\n- `Working`\n\n```json\n\n{\n    \"status\":200,\n    \"info\":\"success\",\n    \"sources\":[\n      {\n        \"name\": \"SOURCE_NAME\",\n        \"data\": {\n          \"stream\": \"FILE.m3u8\",\n          \"subtitle\": [\n            {\n              \"lang\":\"LANGUAGE\",\n              \"file\":\"FILE.srt\"\n            }\n            {\n              \"lang\":\"LANGUAGE2\",\n              \"file\":\"FILE2.srt\"\n            }\n          ]\n        }\n      },\n      {\n        \"name\": \"SOURCE_NAME2\",\n        \"data\": {\n          \"stream\": \"FILE2.m3u8\",\n          \"subtitle\": [\n            {\n              \"lang\":\"LANGUAGE\",\n              \"file\":\"FILE.srt\"\n            }\n            {\n              \"lang\":\"LANGUAGE2\",\n              \"file\":\"FILE2.srt\"\n            }\n          ]\n        }\n      }\n    ]\n}\n\n```\n\n- `Error/Stream Unavailable`\n\n```json\n{\n    \"status\":200,\n    \"info\":\"success\",\n    \"sources\":[]\n}\n\n### ERROR CODES\n```\nERROR CODES\n===========\nTODO\n```\n\n### OTHER PROJECTS\n- [cool-proxy](https://github.com/cool-dev-guy/cool-proxy) - A proxy made in C++\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcool-dev-guy%2Fvidsrc-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcool-dev-guy%2Fvidsrc-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcool-dev-guy%2Fvidsrc-api/lists"}