Frequently Asked Questions
Tips for getting the most out of PeerSeek search.
Android TV app
Is there a PeerSeek app for my TV?
Yes. PeerSeek for Android TV lets you browse and watch PeerTube videos with your remote. It runs on
Android TV and Google TV devices with Android 8 or newer, such as the NVIDIA Shield, Chromecast with
Google TV, and TVs from Sony, Philips, TCL or Hisense. Samsung (Tizen) and LG (webOS) TVs are not
supported. The app is in a closed test on Google Play right now, and anyone can join.
Why do you need testers?
Google Play only lets a new app go public after at least 12 testers have stayed opted in to its closed
test for 14 days in a row. Every tester helps, and you get the app before everyone else. Please keep
the app installed and stay opted in for those 14 days.
How do I join the test?
Use the same Google account that is signed in to the Play Store on your TV for every step.
- Join the testers group: groups.google.com/g/peerseek-testers (opens in new tab). Click Join group. You won't get any emails unless you want them.
- Opt in to the test: play.google.com/apps/testing/video.peerseek.tv (opens in new tab). Click Become a tester.
- Install the app from its Google Play page (opens in new tab) in a web browser on your computer or phone. Click Install, pick your TV from the device list, and the app installs on the TV within a few minutes.
Google Play says my device isn't compatible. What can I do?
- Make sure you picked your TV, not your phone, in the device list. The app only runs on TVs.
- Check the Android version under Settings → Device Preferences → About. The app needs Android 8 or newer, so install any system update first.
- Make sure the TV is signed in with the account you joined the group and opted in with.
- Open the Play Store on the TV once, wait a few minutes, then reload the web page.
Search modifiers
How do I search for an exact phrase?
Wrap words in double quotes to match them as an exact phrase.
Try it: "free software" — finds videos containing that exact phrase rather than videos that simply mention both words separately.
Try it: "free software" — finds videos containing that exact phrase rather than videos that simply mention both words separately.
How do I exclude a word from results?
Put a minus sign directly before a word to exclude it from results.
Try it: linux -ubuntu — finds videos about Linux that do not mention Ubuntu.
Try it: linux -ubuntu — finds videos about Linux that do not mention Ubuntu.
Can I filter results by date?
Use
Try it: blender after:2025-01-01 — finds Blender videos published since the start of 2025.
before: and after: followed by a date in YYYY-MM-DD format.Try it: blender after:2025-01-01 — finds Blender videos published since the start of 2025.
Can I combine these modifiers?
Yes, all modifiers work together in a single query.
Try it: "open source" privacy -google
after:2024-01-01
| Modifier | Syntax | Effect |
|---|---|---|
| Exact phrase | "words here" |
Matches the exact phrase |
| Exclude | -word |
Removes results containing the word |
| After date | after:YYYY-MM-DD |
Only results published on or after the date |
| Before date | before:YYYY-MM-DD |
Only results published before the date |
General
What is PeerSeek?
PeerSeek is a search engine for PeerTube (opens in new tab),
the federated video platform. It crawls hundreds of PeerTube instances, indexes their
videos, and lets you search across all of them from one place — no account required.
My PeerTube instance is not listed — how can I add it?
PeerSeek discovers instances automatically from the
PeerTube instance index (opens in new tab).
If your instance is not showing up:
- Make sure your instance is registered in the index.
-
Make sure your
robots.txtdoes not block PeerSeek crawler traffic. Add an allow entry such as:User-agent: PeerSeekCrawler Allow: /
Personalization
How does personalization work?
PeerSeek uses a random, anonymous token stored in your browser's local storage to
learn from your searches and clicks. Over time, topics, channels, and tags you
interact with get a small ranking boost in your home feed and search results. No
account, email, or login is involved — the token is a random string that cannot be
traced back to you. Inactive personalization profiles are automatically cleaned up
after 30 days without use.
How do I reset or remove personalization?
Clear your browser's local storage for this site. In most browsers you can do this
via Developer Tools → Application → Local Storage, then
delete the entry for
peerseek.video. Alternatively, clearing all site
data for this origin in your browser settings will also remove it. A new anonymous
token is generated automatically on your next visit.
API
Is there a search API?
Yes. PeerSeek exposes a read-only JSON endpoint. No API key or account is required.
GET https://peerseek.video/v1/search?q=blender
All the search modifiers from above ("exact phrase", -exclude,
after:, before:) go inside the q parameter, URL-encoded.
What query parameters are supported?
| Parameter | Description |
|---|---|
q |
Search query, including modifiers (required for results). A query that is exactly a PeerTube video
UUID, shortUUID, or a /w/… watch link resolves that video
directly. |
sort |
relevance (default), date, views, or trending.
|
category |
Filter by category label (see /v1/filters). |
language |
Filter by language code (e.g. en). |
subtitle_language |
Filter to videos with subtitles in that language code (e.g. de). |
instance |
Limit results to a single instance host. |
include_nsfw |
true to include NSFW results (default false). |
include_live |
true to include live streams in search results (default true in the UI;
omit or false to hide them). |
page |
Page number, starting at 1. |
size |
Results per page, 1–100 (default 24). |
What does a response look like?
A JSON object with the matching videos and paging info:
{
"videos": [
{
"id": "…",
"title": "…",
"description": "…",
"tags": ["…"],
"thumbnailUrl": "https://…",
"isLive": false,
"views": 0,
"likes": 0,
"comments": 0,
"instance": "example.org",
"channel": "…",
"channelHandle": "…",
"account": "…",
"accountHandle": "…",
"category": "…",
"language": "en",
"captionLanguages": ["en", "de"],
"durationSeconds": 0,
"publishedAt": "2025-01-01T00:00:00Z",
"videoUrl": "https://…"
}
],
"total": 0,
"page": 1,
"size": 24
}
Please crawl responsibly: cache where you can and keep request rates reasonable.