API Documentation
Search the DHT network programmatically. Free: 500 req/day + 1 API key. Pro: Unlimited + 5 API keys.
Authentication
All API requests require an API key. Get yours by registering.
Pass the key via:
# Header (recommended)
curl -H "X-API-Key: YOUR_KEY" "https://www.dhtspy.cc//api/v1/search?q=test"
# Query parameter
curl "https://www.dhtspy.cc//api/v1/search?q=test&api_key=YOUR_KEY"
# Authorization header
curl -H "Authorization: Bearer YOUR_KEY" "..."
Endpoint
GET /api/v1/search
Parameters
| Param | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | Yes | - | Search query |
api_key | string | Yes* | - | API key (or use header) |
limit | int | No | 20 | Results per page (max 50) |
page | int | No | 1 | Page number |
Torznab (Sonarr / Radarr / Prowlarr)
DHTSpy provides a Torznab-compatible endpoint for integration with the Servarr media stack.
# Prowlarr / Sonarr / Radarr setup
URL: https://www.dhtspy.cc//torznab.php
API Path: /torznab.php?t=search&q=&apikey=YOUR_KEY
# Test capabilities
curl "https://www.dhtspy.cc//torznab.php?t=caps"
RSS Feed
Standard RSS 2.0 feed for torrent clients (qBittorrent, Transmission, uTorrent, Deluge).
GET https://www.dhtspy.cc//rss.php
GET https://www.dhtspy.cc//rss.php?q=1080p
Rate Limits
| Tier | Daily Requests | Burst Rate |
|---|---|---|
| Free | 500 / day | 60 / 60s |
| Pro | Unlimited | 60 / 60s |
Upgrade to Pro for higher limits.
Example Response
{
"success": true,
"query": "ubuntu",
"page": 1,
"limit": 20,
"total": 42,
"pages": 3,
"results": [
{
"info_hash": "abc123...",
"name": "ubuntu-24.04-desktop-amd64.iso",
"title": "Ubuntu 24.04 LTS",
"size": 5872025600,
"size_human": "5.5 GB",
"type": null,
"year": null,
"resolution": null,
"video_source": null,
"languages": [],
"genres": [],
"overview": null,
"poster_url": null,
"vote_average": null,
"vote_count": null,
"runtime": null,
"tmdb_url": null,
"imdb_url": null,
"adult": false,
"seeders": 1523,
"leechers": 87,
"magnet": "magnet:?xt=urn:btih:abc123...",
"published_at": "2026-07-12T16:09:56Z"
}
]
}
Error Responses
| Code | Meaning |
|---|---|
401 | Invalid or missing API key |
429 | Rate limit or daily limit exceeded |
400 | Missing required parameter (q) |
503 | Backend search engine unavailable |