• Stars
    star
    310
  • Rank 134,926 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Unofficial API for 1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, MagnetDL,Libgen, YTS, Limetorrent, TorrentFunk, Glodls, TorrentProject and YourBittorrent

Torrents Api ✨

An Unofficial API for 1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, MagnetDL, Libgen, YTS, Limetorrent, TorrentFunk, Glodls, TorrentProject and YourBittorrent

Installation

# Clone the repo
$ git clone https://github.com/Ryuk-me/Torrent-Api-py

# Go to the repository
$ cd Torrent-Api-py

# Install Depedencies
$ pip install -r requirements.txt

# Start
$ python main.py

Setup Env File

# Change Environment variables

Go to .env file / okteto-stack.yaml and add the following

PYTHON_ENV=prod (if you are hosting)
PYTHON_ENV=dev (if running local)

Supported Sites

Website Keyword Url Cloudfare
1337x 1337x https://1337x.to ❌
Torrent Galaxy tgx https://torrentgalaxy.to ❌
Torlock torlock https://www.torlock.com ❌
PirateBay piratebay https://thepiratebay10.org ❌
Nyaasi nyaasi https://nyaa.si ❌
Zooqle zooqle https://zooqle.com ❌
KickAss kickass https://kickasstorrents.to ❌
Bitsearch bitsearch https://bitsearch.to ❌
MagnetDL magnetdl https://www.magnetdl.com βœ…
Libgen libgen https://libgen.is ❌
YTS yts https://yts.mx ❌
Limetorrent limetorrent https://www.limetorrents.pro ❌
TorrentFunk torrentfunk https://www.torrentfunk.com ❌
Glodls glodls https://glodls.to ❌
TorrentProject torrentproject https://torrentproject2.com ❌
YourBittorrent ybt https://yourbittorrent.com ❌

Supported Methods and categories

If you want to change the default limit site wise Visit Here

{
        "1337x": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": True,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv","apps","documentaries", "other", "xxx", "movies"],
            "limit" : 100
        },
        "torlock": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv","apps", "documentaries", "other", "xxx", "movies", "books", "images"],
            "limit" : 50
        },
        "zooqle": {
            "trending_available": False,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": False,
            "recent_category_available": False,
            "categories": [],
            "limit": 30
        },
        "magnetdl": {
            "trending_available": False,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["apps", "movies", "music", "games", "tv", "books"],
            "limit": 40
        },
        "tgx": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv",
                           "apps", "documentaries", "other", "xxx", "movies", "books"],
            "limit": 50
        },
        "nyaasi": {
            "trending_available": False,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": False,
            "categories": [],
            "limit": 50

        },
        "piratebay": {
            "trending_available": True,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["tv"],
            "limit": 50
        },
        "bitsearch": {
            "trending_available": True,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": False,
            "recent_category_available": False,
            "categories": [],
            "limit": 50
        },
        "kickass": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv","apps", "documentaries", "other", "xxx", "movies", "books"],
            "limit": 50
        },
        "libgen'": {
            "trending_available": False,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": False,
            "recent_category_available": False,
            "categories": [],
            "limit": 25
        },
        "yts": {
            "trending_available": True,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": False,
            "categories": [],
            "limit": 20
        },
        "limetorrent": {
            "trending_available": True,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv",
                           "apps", "other", "movies", "books"],  # applications and tv-shows
            "limit": 50
        },
        "torrentfunk": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv",
                           "apps", "xxx", "movies", "books"],  # television # software #adult # ebooks
            "limit": 50
        },
        "glodls": {
            "trending_available": True,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": False,
            "categories": [],
            "limit": 45
        },
        "torrentproject": {
            "trending_available": False,
            "trending_category": False,
            "search_by_category": False,
            "recent_available": False,
            "recent_category_available": False,
            "categories": [],
            "limit": 20
        },
        "ybt": {
            "trending_available": True,
            "trending_category": True,
            "search_by_category": False,
            "recent_available": True,
            "recent_category_available": True,
            "categories": ["anime", "music", "games", "tv",
                           "apps", "xxx", "movies", "books", "pictures", "other"],  # book -> ebooks
            "limit": 20
        }

    }


API Endpoints

Supported sites list

api/v1/sites


Search

api/v1/search

Parameter Required Type Default Example
site βœ… string None api/v1/search?site=1337x
query βœ… string None api/v1/search?site=1337x&query=avengers
limit ❌ integer Default api/v1/search?site=1337x&query=avengers&limit=20
page ❌ integer 1 api/v1/search?site=1337x&query=avengers&limit=0&page=2


Trending

api/v1/trending

Parameter Required Type Default Example
site βœ… string None api/v1/trending?site=1337x
limit ❌ integer Default api/v1/trending?site=1337x&limit=10
category ❌ string None api/v1/trending?site=1337x&limit=0&category=tv
page ❌ integer 1 api/v1/trending?site=1337x&limit=6&category=tv&page=2


Recent

api/v1/recent

Parameter Required Type Default Example
site βœ… string None api/v1/recent?site=1337x
limit ❌ integer Default api/v1/recent?site=1337x&limit=7
category ❌ string None api/v1/recent?site=1337x&limit=0&category=tv
page ❌ integer 1 api/v1/recent?site=1337x&limit=15&category=tv&page=2


Search By Category

api/v1/category

Parameter Required Type Default Example
site βœ… string None api/v1/category?site=1337x
query βœ… string None api/v1/category?site=1337x&query=avengers
category βœ… string None api/v1/category?site=1337x&query=avengers&category=movies
limit ❌ integer Default api/v1/category?site=1337x&query=avengers&category=movies&limit=10
page ❌ integer 1 api/v1/category?site=1337x&query=avengers&category=tv&limit=0&page=2


Search from all sites

api/v1/all/search

Parameter Required Type Default Example
query βœ… string None api/v1/all/search?query=avengers
limit ❌ integer Default api/v1/all/search?query=avengers&limit=5
Here limit = 5 will get 5 results from each site.

api/v1/all/search?query=avengers

api/v1/all/search?query=avengers&limit=5


Get trending from all sites

api/v1/all/trending

Parameter Required Type Default Example
limit ❌ integer Default api/v1/all/trending?limit=2

api/v1/all/trending

api/v1/all/trending?limit=2


Get recent from all sites

api/v1/all/recent

Parameter Required Type Default Example
limit ❌ integer Default api/v1/all/recent?limit=2

api/v1/all/recent

api/v1/all/recent?limit=2


Want to Try api ?

api/v1/search?site=1337x&query=eternals

See response

{
  "data": [
    {
      "name": "Eternals.2021.1080p.WEBRip.DDP5.1.x264-NOGRP",
      "size": "5.6 GB",
      "date": "Jan. 11th '22",
      "seeders": "10872",
      "leechers": "6820",
      "url": "https://1337xx.to/torrent/5110260/Eternals-2021-1080p-WEBRip-DDP5-1-x264-NOGRP/",
      "uploader": "TheMorozko",
      "screenshot": [
        "https://checkmy.pictures/images/2022/01/11/32162343474810151667.jpg",
        "https://checkmy.pictures/images/2022/01/11/38515612831471833686.jpg",
        "https://checkmy.pictures/images/2022/01/11/71518482909886223945.jpg"
      ],
      "category": "Movies",
      "poster": "https://1337xx.to/img/movie/Eternals-2021.jpg",
      "magnet": "magnet:?xt=urn:btih:A2AD2A669250A014BED19919E6C386DD4F82A883&dn=Eternals.2021.1080p.WEBRip.DDP5.1.x264-NOGRP&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2950%2Fannounce&tr=udp%3A%2F%2F9.rarbg.to%3A2870%2Fannounce&tr=udp%3A%2F%2Ftracker.tallpenguin.org%3A15720%2Fannounce&tr=udp%3A%2F%2Ftracker.thinelephant.org%3A12780%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce",
      "hash": "A2AD2A669250A014BED19919E6C386DD4F82A883"
    }
  ],
  "current_page": 1,
  "total_pages": 7,
  "time": 1.276763677597046,
  "total": 20
}


How to Host On Repl.it

> Fork this repo
> Import repo from github in repl
> Command : python main.py
> Install Requirements manually !very important
> Add Environment variables from .env file in repl
> And Run Your repl

Note :  Due to CPU limitations Repl will take much more time than Heroku and everytime you pull new changes to repl you have to add REDIS_URI

Test Here : https://Torrent-Api-py.ryukme.repl.co/api/v1/search?site=tgx&query=avengers&limit=5

~~~How to Host On Okteto~~~

> Fork this repo
> Go to  okteto-stack.yaml file and add REDIS_URI in environment
> Now visit https://www.okteto.com/ and login via Github
> Now select the repository u want to deploy and and just click on deploy don't add any environment variable there
> Now wait for some time and your api will be live

Donations

If you feel like showing your appreciation for this project, then how about buying me a coffee.

"Buy Me A Coffee"


You can fork the repo and deploy on VPS or deploy it on Heroku :)

Deploy