Search the cache
curl --request GET \
--url https://api.torrin.app/api/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.torrin.app/api/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.torrin.app/api/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.torrin.app/api/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.torrin.app/api/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.torrin.app/api/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.torrin.app/api/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"name": "<string>",
"info_hash": "<string>",
"size": 123,
"magnet": "<string>",
"cached": true,
"files": [
{
"file_name": "<string>",
"index": 123,
"size": 123,
"media_info": {}
}
]
}
],
"count": 123
}{
"error": "<string>"
}Search & availability
Search the cache
The public search API. Give an IMDB id (or a title) and get back everything torrin has cached for it, ready to stream — build addons, tools, whatever you want. One person’s grab is cached for everyone. Requires an active monthly, yearly, or lifetime plan.
GET
/
api
/
search
Search the cache
curl --request GET \
--url https://api.torrin.app/api/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.torrin.app/api/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.torrin.app/api/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.torrin.app/api/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.torrin.app/api/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.torrin.app/api/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.torrin.app/api/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"name": "<string>",
"info_hash": "<string>",
"size": 123,
"magnet": "<string>",
"cached": true,
"files": [
{
"file_name": "<string>",
"index": 123,
"size": 123,
"media_info": {}
}
]
}
],
"count": 123
}{
"error": "<string>"
}Authorizations
Your instance API key as a bearer token: Authorization: Bearer <api_key>.
/rest/1.0 also accepts ?auth_token=; /v0/store also accepts
X-StremThru-Store-Authorization: Bearer <api_key>.
Query Parameters
IMDB id, e.g. tt0816692 (the tt prefix is optional).
Title to match. Repeatable. Use instead of, or alongside, imdb.
Filter title matches by release year.
With season, returns only files for that episode.
Was this page helpful?