Peel Tune-in API
peel-ci · Media
The machine learning service APIs utilize hashtags from Twitter to find related, trending shows, related Twitter hashtags in real time and to generate direct tune-in URLs.
Authentication
Sample Requests
Returns any official hashtag and any hashtags which were learned within the most recent time window for the show.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related?showID=example&timeWindow=example"
import requests
params = {
"showID": "example",
"timeWindow": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related');
url.searchParams.set('showID', 'example');
url.searchParams.set('timeWindow', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related")
q := baseURL.Query()
q.Set("showID", "example")
q.Set("timeWindow", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related")
uri.query = URI.encode_www_form({
"showID" => "example",
"timeWindow" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/related?" . http_build_query([
"showID" => "example",
"timeWindow" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Gets trending shows.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows?limit=10&timeWindow=example"
import requests
params = {
"limit": "10",
"timeWindow": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows');
url.searchParams.set('limit', '10');
url.searchParams.set('timeWindow', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("timeWindow", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows")
uri.query = URI.encode_www_form({
"limit" => "10",
"timeWindow" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/trendingShows?" . http_build_query([
"limit" => "10",
"timeWindow" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Either use tweet , hashtags , or showID as the parameter. The tunein URLs that match best are returned in order of best match. A tweet in this context is shorthand for text from a social networking conversation, e.g., it could be from Facebook, Twitter, LinkedIn, e
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks?tweet=example&showID=example&hashtags=example"
import requests
params = {
"tweet": "example",
"showID": "example",
"hashtags": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks');
url.searchParams.set('tweet', 'example');
url.searchParams.set('showID', 'example');
url.searchParams.set('hashtags', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks")
q := baseURL.Query()
q.Set("tweet", "example")
q.Set("showID", "example")
q.Set("hashtags", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks")
uri.query = URI.encode_www_form({
"tweet" => "example",
"showID" => "example",
"hashtags" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/peel-ci.com/1.0.0/hashtag/tuneinlinks?" . http_build_query([
"tweet" => "example",
"showID" => "example",
"hashtags" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Peel Tune-in API?
Peel Tune-in API is a Media API. Developers commonly use media APIs for:
- storing and delivering images, video, and audio
- building digital asset management and media libraries
- transcoding and optimising media for the web
- adding video streaming and playback to your app
- automating content tagging and metadata extraction
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Peel Tune-in API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide