PeerTube Scraper: Videos, Channels, Accounts & Search avatar

PeerTube Scraper: Videos, Channels, Accounts & Search

Pricing

$1.00 / 1,000 result items

Go to Apify Store
PeerTube Scraper: Videos, Channels, Accounts & Search

PeerTube Scraper: Videos, Channels, Accounts & Search

Scrape any PeerTube instance via the official /api/v1 REST API. Videos, channels, accounts, search - cross-instance federation routing. No browser, no proxies, no auth. Pay only per result item.

Pricing

$1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Perconey

Perconey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

What does PeerTube Scraper do?

PeerTube Scraper pulls structured data from any PeerTube instance via the official /api/v1/* REST API. Videos with views, likes/dislikes, duration, embed link, thumbnails. Channels with subscriber counts. Accounts with follower counts. Full-text search. The actor calls the documented public API directly: no browser, no proxies, no cookies, no anti-bot fight. One actor works with every PeerTube-protocol server in the Fediverse: framatube.org, video.blender.org, tilvids.com, peertube.cpy.re, makertube.net, and hundreds more.

Try it instantly: pick getVideos, leave instance as https://framatube.org, click Start. You get the 30 newest Framatube videos (title, duration, views, likes, channel) in under 3 seconds for $0.03.

Why use PeerTube Scraper?

  • Federation researchers: Compare video communities across instances. Same channel concept exists on lots of servers with different culture and policies.
  • Indie video creators: Find PeerTube instances that match your niche. Use searchChannels to discover where your audience lives outside of YouTube / Vimeo.
  • OSS maintainers: Track talks and demos about your project. Schedule daily searchVideos runs with your project name.
  • Trend analysts: Both likes AND dislikes are exposed (unlike YouTube). Compute controversy ratios on educational / political videos.
  • Academic researchers: PeerTube is a federated decentralized video platform on ActivityPub - rich material for network science studies.
  • YouTube alternatives advocates: Build a discovery layer that surfaces high-quality PeerTube content to mainstream audiences.

How to use PeerTube Scraper

  1. Open the Input tab.
  2. Pick an action from the dropdown. getVideos is the simplest starting point.
  3. Set instance (default https://framatube.org). To scrape a different server, paste its URL.
  4. For channel / account / video-detail / search actions, fill queries.
  5. Tune sort (-publishedAt / -views / -likes / -trending) and maxItems (default 30).
  6. Toggle nsfw off if you want to skip adult content.
  7. Click Start.

Query format by action

ActionQuery format
getVideosleave empty (uses instance + sort)
searchVideosfree-text search query
getVideoDetailvideo uuid (e.g. 9845e20c-7236-4270-8b69-88530a61f616) or numeric id
getChannelsleave empty (uses instance)
searchChannelsfree-text search query
getChannelVideosname@host (e.g. blender_open_movies@video.blender.org)
getAccountProfilename@host (e.g. framasoft@framatube.org)
getAccountVideosname@host

Input

FieldRequiredDescription
actionyesWhich API call to make. Eight options.
instanceyesPeerTube instance URL. Default https://framatube.org.
queriessometimesRequired for search / detail / channel / account actions. Empty for the per-instance feeds.
maxItemsnoMax items per query. Default 30.
sortno-publishedAt (default), -views, -likes, -trending, or publishedAt.
nsfwnoInclude NSFW content. Default true (passes through with the nsfw flag for downstream filtering).

Output

Every item carries _type (video / channel / account / error) plus _action and _instance.

{
"_type": "video",
"_action": "getVideos",
"_instance": "https://framatube.org",
"id": 65272,
"uuid": "9845e20c-7236-4270-8b69-88530a61f616",
"name": "Why Free Software Matters for Climate Justice",
"duration": 1284,
"views": 12450,
"likes": 312,
"dislikes": 4,
"comments": 27,
"publishedAt": "2026-05-10T14:00:00Z",
"nsfw": false,
"isLive": false,
"thumbnail_url": "https://framatube.org/lazy-static/thumbnails/...",
"embed_url": "https://framatube.org/videos/embed/9845e20c-...",
"url": "https://framatube.org/w/9845e20c-...",
"channel": { "name": "framasoft", "displayName": "Framasoft", "host": "framatube.org" },
"account": { "name": "framasoft", "displayName": "Framasoft", "host": "framatube.org" }
}

You can download the dataset in JSON, CSV, XML, Excel, RSS or HTML format from the Output tab.

Data fields

TypeKey fields
videoid, uuid, name, description, duration, views, likes, dislikes, comments, publishedAt, nsfw, isLive, category, language, thumbnail_url, embed_url, url, channel, account
channelid, name, displayName, host, description, followersCount, followingCount, url, avatar, ownerAccount
accountid, name, displayName, host, description, followersCount, followingCount, url, avatar

Pricing

Pay-per-result: $0.001 per item. No flat monthly fee.

Cost examples:

  • Daily 30 newest Framatube videos: $0.03
  • 1,000 videos from a creator: $1.00
  • 50 channels matching a search term: $0.05
  • Top-100 most-viewed videos on an instance: $0.10

Tips

  • Cross-instance routing is automatic. Write blender_open_movies@video.blender.org and the actor talks to video.blender.org even if your instance field points to framatube.org. Same pattern as Mastodon / Lemmy.
  • Likes AND dislikes are exposed. Compute controversy = min(likes, dislikes) / max(likes, dislikes) to find polarizing content.
  • Sort options matter. PeerTube does NOT have a "trending" endpoint, but -trending as a sort parameter approximates it.
  • NSFW filtering is client-side. The API does not let you exclude NSFW on the server; the actor passes the flag through and (optionally) filters in-process.

FAQ, disclaimers, support

Is this legal? The actor calls each PeerTube instance's official public REST API with documented endpoints. Public read access is the design intent of the AGPL-licensed PeerTube software. We send a clear User-Agent identifying the actor and honor rate-limit / Retry-After headers.

Will I get rate-limited? PeerTube's per-IP rate limits are generous for read-only traffic and the actor backs off on 429 / Retry-After. For very heavy scraping consider donating to the instance you're hitting most.

Why is getChannelVideos failing for a channel? PeerTube channel records live on the channel's HOME instance. Use the name@host format like blender_open_movies@video.blender.org. The actor auto-routes.

What about live streams? isLive: true videos appear in the feed. The actor returns metadata only - it does not download the stream.

Bug or feature request? Open an Issue on the actor's Issues tab. I usually respond within a day.

Need a scraper for Mastodon, Lemmy, Bluesky, Hacker News, dev.to, arxiv? See my other actors at https://apify.com/perconey.