Torrentgalaxy sits behind Cloudflare. You cannot simply curl the homepage. You will get a 403 Forbidden or a JavaScript challenge page.
Once you have Jackett running, interacting with TGx becomes trivial:
import requestsJACKETT_URL = "http://localhost:9117" API_KEY = "your_jackett_api_key" INDEXER_ID = "torrentgalaxy" # The ID Jackett gives to TGx
GET https://torrentgalaxy.to/torrents.phpTorrentgalaxy Api -| Parameter | Type | Example | Description | | :--- | :--- | :--- | :--- | |
search| string |ubuntu| Search query | |category| int |1| 1=Movies, 2=TV, 3=Games, 4=Music, etc. | |sort| string |id|id,seeders,size| |order| string |desc|descorasc|Response: HTML page. No native JSON. To get JSON, you must scrape the HTML table (
.tgxtable).
GET https://torrentgalaxy.to/torrent-details.php?id=12345Torrentgalaxy sits behind CloudflareDate: 2024-2025 (Current Era) Subject: Unofficial & Official API Capabilities of TorrentGalaxy (.to / .mx)
If you need to query Torrentgalaxy from an application (like Sonarr or a custom Python script), you should never try to call the site directly. Instead, you use an API abstraction layer.
response = requests.get( f"JACKETT_URL/api/v2.0/indexers/INDEXER_ID/results", params= "apikey": API_KEY, "Query": "The Matrix 1999", "Category": 2000 # Movies ) You have just used a Torrentgalaxy API
data = response.json() for result in data["Results"]: print(f"Title: result['Title']") print(f"Magnet: result['MagnetUri']") print(f"Seeders: result['Seeders']")
You have just used a Torrentgalaxy API. It is just wrapped in Jackett.