TrueScrape

io.github.TrueScrapePublished by GitHub account TrueScrapev0.8.0Updated Nov 4, 2026

Live context for your agent: competitors, mentions and markets, from public data.

The publisher's own server: Scrape.ly

Overview

AI-generated overview

Paid API that gives an assistant live public data from 52 platforms — social profiles, posts, product listings, property and ad data — plus mention monitoring.

What you can do
  • Search and read public social content: profiles, posts, videos, transcripts and comments across TikTok, Instagram, YouTube, Reddit, Bluesky, X, Threads, Mastodon and many more
  • Look up product listings and prices on Amazon, Walmart and eBay, plus property data from Zillow and Redfin
  • Read music and podcast catalogues on Deezer, Spotify and Apple Music, including charts, albums, tracks and episodes
  • Inspect advertising: Meta Ad Library ads, advertisers and ad video transcripts
  • Find mentions of a term across public sources, and create, check, list or delete monitors and watches that report changes
  • Discover and call any of the 271 tools via explore_tools and call_tool, and request a missing source
When to use it
Useful when an assistant needs outside context it cannot get from local files or code: competitor and account research, brand or product mention tracking, market and price checks, or social and ad data gathering. Also fits scheduled competitor watching through monitors.
Requirements
A TrueScrape API key, supplied as the x-api-key header for the remote endpoint at api.truescrape.com or as TRUESCRAPE_API_KEY for the local npm bridge (npx truescrape mcp). Credits are required: 1,000 free on signup, then paid packs. Network access to the API. Tools can be listed without a key; calling them needs one.
Before you install
Every data call spends credits (mostly 1, some 3 or 2), and scheduled watches and monitors keep charging per check until deleted or capped, so set stop-at or max-credits. The API key is a billable secret; keep it out of shell history and shared configs. Returned text is third-party content and should be treated as data, not instructions. Only public, logged-out data is covered, and some sources (X, LinkedIn search, Instagram captions) are not. Video download is limited to content you made or…

Installation

In SourceWeft

  1. Open TrueScrape in the dashboard and add it to a workspace.
  2. Connect x-api-key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.TrueScrape%2Ftruescrape/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "truescrape": {
      "type": "http",
      "url": "https://api.truescrape.com/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

[TrueScrape]

TrueScrape

[npm] [downloads] [MCP] [license]

Live context for your agent: competitors, mentions and markets. An agent can read your code and files. It cannot see your competitors, your market, or what people say about you. Connect it in one line:

bash
npx truescrape auth login                # once: stores your key from truescrape.com/dashboardnpx truescrape agent add claude-code     # or: claude-desktop, cursor, vscode

Then ask it for one of three jobs:

JobAsk your agentWhat it uses
Research on demand"What are people saying about standing desks, and what do they cost on Amazon and Walmart?"Search and profile tools across social platforms, plus Amazon and Walmart search
Watch competitors and accounts"Watch Acme's YouTube channel and tell me what's new"A monitor on their accounts. No webhook needed, and it checks when your agent asks
Find mentions"Who is mentioning Acme, and what needs a reply?"One search across public sources, each reporting what it found or that it could not be checked

Public, logged-out data only. Monitors check on request, or on a schedule of an hour or longer.

  • 1,000 free credits on signup, no card. Most requests cost 1 credit.
  • Failed and empty requests are never charged, and cache hits cost 0.
  • Credits never expire. No subscription; packs from $25 for 20,000 credits.

It all works without an agent too, from the terminal or your own scripts:

console
$ truescrape instagram profile --handle natgeo --pretty{  "platform": "instagram",  "id": "787132",  "handle": "natgeo",  "displayName": "National Geographic",  …  "verified": true,  "followerCount": 268245801,  "followingCount": 195,  "postCount": 32000,  …}1 credit · live fetch · 1204 ms · req_…

This repository holds the three ways to plug it into your tools and your agents.

InstallBest for
CLInpm install -g truescrape or npx truescrape …Scripts, cron, CI, one-off pulls, piping into jq
MCP serverclaude mcp add --transport http truescrape https://api.truescrape.com/mcp --header "x-api-key: YOUR_KEY"Claude, Cursor, VS Code and any MCP client calling endpoints as tools
Agent skillnpx skills add TrueScrape/truescrapeTeaching Claude Code, Cursor, Codex, Copilot, Gemini CLI or Windsurf how to use the API well

259 endpoints across 52 platforms, generated from the live API on 2026-11-04.

tiktok (28) · facebook (22) · instagram (19) · youtube (17) · deezer (11) · github (10) · reddit (9) · google (8) · linkedin (8) · mixcloud (8) · peertube (7) · spotify (7) · twitter (6) · dailymotion (5) · odysee (5) · rumble (5) · substack (5) · threads (5) · amazon (4) · apple-music (4) · bitchute (4) · bluesky (4) · mastodon (4) · pinterest (4) · redfin (4) · twitch (4) · walmart (4) · kwai (3) · snapchat (3) · soundcloud (3) · telegram (3) · truthsocial (3) · zillow (3) · ebay (2) · bilibili (1) · flickr (1) · hackernews (1) · identity (1) · inference (1) · kick (1) · komi (1) · linkbio (1) · linkme (1) · linktree (1) · mashable (1) · milkshake (1) · okru (1) · pillar (1) · solo (1) · streamable (1) · taplink (1) · vimeo (1)

Get a key at truescrape.com/dashboard. Docs: truescrape.com/docs · OpenAPI · llms.txt

Three rules that change how you plan

  1. Failed requests and empty results are never charged. Just call it.
  2. Cache hits cost 0 credits. Pass --cache-max-age 7d (or cache_max_age=7d) whenever real-time data is not required.
  3. Many targets means one batch, not a loop. Up to 500 targets per job.

CLI

bash
npm install -g truescrape          # or: npx truescrape <command>truescrape auth login              # stores your key (0600) after checking ittruescrape list                    # platformstruescrape list youtube            # endpoints for one platformtruescrape youtube channel --handle @mkbhdtruescrape youtube channel-videos --handle @mkbhd --all | jq '.items[].viewCount'truescrape youtube channel --handle @mkbhd --cache-max-age 24h --format tabletruescrape batch youtube transcript --targets ids.json --waittruescrape download https://x.com/<handle>/status/<id> --out ./videostruescrape balance

Mentions and monitors

bash
truescrape mentions find "Acme"                 # one search, nothing storedtruescrape monitors create "Acme" --manual      # keep watching; checks only when you saytruescrape monitors create "Acme" --no-search --accounts youtube:@acme,bluesky:acme.com --manualtruescrape monitors create "Acme" --interval 21600 --stop-at <ISO time> --max-credits <n>truescrape monitors check <id>                  # check each source now, report what is newtruescrape monitors updates --unread            # read what this key has not readtruescrape monitors updates --platform reddit --source mention --since 7dtruescrape monitors listtruescrape monitors delete <id>

Each takes --json, and exits 1 on an API error. Creating and reading are free. mentions find costs 1 credit per source that answers. A check charges each source that answers at its endpoint's own price; creditsPerCheck in the create response is the most one check can charge, and the first check is a baseline that reports nothing as new. Failed, empty and cached answers are free, and the output names each source that could not be checked, so a failure never reads as "no mentions".

Mention sources: Reddit, Hacker News, Bluesky, YouTube, Threads, Instagram tags, TikTok tags, Dailymotion, PeerTube and Odysee. PeerTube and Odysee have no date order and may rarely surface new videos. X, LinkedIn search and Instagram captions are not covered.

Accounts can be followed on YouTube, TikTok, Instagram, Threads, Bluesky, Reddit, Mastodon (the handle includes the server), Telegram, Substack and LinkedIn. X and Facebook accounts are not available.

An agent creating a monitor passes --agent <name>, so you can see what it left running. A scheduled monitor runs until deleted unless you set --stop-at or --max-credits.

truescrape download <post-url> [--out <dir>] [--force] [--json] saves the video from a public Instagram, Facebook, X, Streamable, Mashable, Flickr or Bilibili post. The lookup costs 1 credit and nothing if it fails; the file comes straight from the platform's own video servers, checked to be https, unredirected, a video, and under 150 MB. YouTube, Vimeo and OK.ru links are refused: they offer no plain file a CLI can fetch. Only download videos you made or have permission to use.

Every endpoint is truescrape <platform> <action> --param value. Run any command with --help for its parameters, cost and any cross-field rule.

Authentication, in order of precedence: --api-key for one request (visible in shell history; avoid for anything persistent), the TRUESCRAPE_API_KEY environment variable (use this in CI and for agents), then the key stored by truescrape auth login.

Output. Data goes to stdout as compact JSON; the billing line (1 credit · live fetch · 412 ms · req_…) goes to stderr, so pipes stay clean.

FlagEffect
--format json|table|csv|markdownOutput format (default json)
--prettyIndented JSON
--envelopePrint { data, meta, pagination } instead of data
--output <path>Write to a file and print only its path
--all, --max-pages <n>Follow the cursor and merge pages (default cap 10)
--quietNo billing line
--verboseRequest URL, status and timing on stderr
--base-url <url>Another API origin (also TRUESCRAPE_BASE_URL)

Exit codes: 0 success · 1 the API returned an error · 2 usage or configuration error · 3 the API could not be reached. When stderr is not a terminal, errors are one JSON line in the API's own shape, with the request id from the response header beside it: {"success":false,"error":{"code":"invalid_api_key","message":"…"},"requestId":"req_…"}. A 401 is always a key problem and a 402 always a balance problem; the CLI never conflates them.

MCP server

The API serves a remote MCP server at https://api.truescrape.com/mcp. Every endpoint is a tool; every call goes through the same billing rules as HTTP.

bash
# Claude Codeclaude mcp add --transport http truescrape https://api.truescrape.com/mcp \  --header "x-api-key: YOUR_KEY" --scope user
# Or let the CLI write the config for youtruescrape agent add claude-codetruescrape agent add cursor            # ~/.cursor/mcp.json (--project for .cursor/mcp.json)truescrape agent add vscode            # .vscode/mcp.jsontruescrape agent add claude-desktop    # claude_desktop_config.json, via the stdio bridge below

Cursor and VS Code, by hand:

json
{ "mcpServers": { "truescrape": { "url": "https://api.truescrape.com/mcp", "headers": { "x-api-key": "YOUR_KEY" } } } }
json
{ "servers": { "truescrape": { "type": "http", "url": "https://api.truescrape.com/mcp", "headers": { "x-api-key": "YOUR_KEY" } } } }

Clients that can only launch a local process get the same server through the bridge, which forwards stdio to the remote endpoint with your stored key:

json
{ "mcpServers": { "truescrape": { "command": "npx", "args": ["-y", "truescrape", "mcp"], "env": { "TRUESCRAPE_API_KEY": "YOUR_KEY" } } } }

agent add installs a default toolset, not every tool, which leaves the agent room to work: youtube, tiktok, instagram, reddit, threads, bluesky, hackernews, amazon and walmart. From the agent, explore_tools finds any other tool and call_tool runs it. Change the set by adding the client again; a config you already have stays as it is until you do:

bash
truescrape agent add cursor --platforms youtube,instagram    # only thesetruescrape agent add cursor --all                            # every tool

A URL you write by hand loads every tool unless you add ?platforms=:

bash
claude mcp add --transport http truescrape "https://api.truescrape.com/mcp?platforms=youtube,instagram" \  --header "x-api-key: YOUR_KEY" --scope user

Tools can be listed without a key, so you can inspect them before signing up; calling one needs the key.

The server advertises its URL, transport and auth header at https://api.truescrape.com/.well-known/mcp; agent add reads that rather than assuming.

Agent skills

truescrape teaches an agent endpoint selection, the cost model, batching, mentions, monitors, subscriptions and the platform quirks worth knowing, with the full endpoint table generated from the live API. Workflow skills build on it:

SkillWhat it does
competitor-watchFollows a competitor's accounts and reports what changed since last time
mention-digestPublic mentions grouped by source, each with its link, flagging what needs a reply
market-scanA question about a category, across social posts and Amazon and Walmart search
video-to-content-briefTurns a sample of YouTube videos into a source-linked brief: themes, hooks and new angles
competitor-content-auditCompares the same recent sample of uploads across 2 to 5 YouTube channels

Each states its cost and that its sample is a sample, and keeps a link to the source beside every claim.

bash
npx skills add TrueScrape/truescrape                 # pick from the list; Claude Code, Cursor, Codex, Copilot, Gemini CLI, Windsurfnpx skills add TrueScrape/truescrape --skill video-to-content-brief

As a Claude Code plugin, which installs the skill and the MCP server together (the server reads TRUESCRAPE_API_KEY):

bash
claude plugin marketplace add TrueScrape/truescrapeclaude plugin install truescrape@truescrape

The skill lives at skills/truescrape/SKILL.md. AGENTS.md is the short version for agents that already have the CLI.

Development

bash
pnpm installpnpm test           # vitestpnpm typecheckpnpm catalogue      # regenerate src/catalogue.json and the generated blocks from the live APIpnpm build          # dist/index.js

The endpoint catalogue is generated, never edited: CI fails when the committed snapshot differs from the live API, and a daily job opens a pull request when the API gains an endpoint. Running a command the bundled catalogue does not know triggers one live refresh before the CLI gives up.

License

MIT.

Source: README.md at commit 1cc594d

Tools

200

amazon_offers

amazon: All seller offers for a product

All seller offers for a product. Every offer on an Amazon listing (price, seller, condition, Prime eligibility and shipping), alongside the product itself. Costs 3 credits.

Parameterstldasinrequiredconditioncountry_codecache_max_age

amazon_product

amazon: Product details

Product details. Public details for one Amazon listing: title, brand, price, availability, rating, specifications and an inline review sample. Costs 3 credits.

Parameterstldasinrequiredcountry_codecache_max_age

amazon_shop

amazon: Amazon Shop page

Amazon Shop page. A creator's public Amazon storefront: their name, the product links the page exposes, and the storefront feed of idea lists (with Amazon's own item count), shoppable videos (id, title, thumbnail and attached ASINs) and shoppable photos. The first request needs no pageToken and already returns the videos embedded on the page. Pass `pagination.cursor` back as `pageToken`, unchanged, with the same shop URL for the next page; a page can carry lists, videos, photos or any mix. A continuation page carries the feed ONLY. Amazon serves it as a fragment with no profile markup, so every identity field (display name, bio, avatar) is null on page two onwards. ASINs are the products the storefront shows attached to an item, which for a long idea list is the first screenful rather than the whole list; `itemCount` is the true total. Costs 1 credit.

ParametersurlrequiredpageTokencache_max_age

appleMusic_album

apple-music: Album details

Album details. Public Apple Music album: artist, release date, genre, artwork and total runtime. The track listing and copyright line are in `raw`, behind `include_raw=true`. Costs 1 credit.

Parametersidrequiredcache_max_age

appleMusic_artist

apple-music: Artist details

Artist details. Public Apple Music artist page: editorial bio, artist image, banner and genre. Apple publishes no follower or play counts, so those fields are null rather than guessed. Costs 1 credit.

Parametersidrequiredcache_max_age

appleMusic_track

apple-music: Track details

Track details. Public Apple Music track: artist, album, duration, genre, release date and the 30-second preview URL. Costs 1 credit.

Parametersidrequiredcache_max_age

bilibili_video

bilibili: Video files and details

Video files and details. A public Bilibili video's mp4 address (up to 720p), description, tags, duration and first frame. For a multi-part video, `?p=` in the URL selects the part. The title, the uploader, the counts and the upload date are null. The mp4 address expires 2 hours after it is issued. Costs 1 credit.

Parametersurlrequiredcache_max_age

bitchute_channel

bitchute: Channel profile

Channel profile. A public BitChute channel: name, description, subscriber count, video count, total views and creation date. Costs 1 credit.

Parameterschannelrequiredcache_max_age

bitchute_channelVideos

bitchute: Channel videos

Channel videos. A BitChute channel's public videos, newest first, 50 per page, with view counts. Likes and comment counts are not in the list; `bitchute.video` has likes. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterscursorchannelrequiredcache_max_age

bitchute_video

bitchute: Video details

Video details. A public BitChute video: title, description, hashtags, duration, publish date, channel, views and likes. Dislikes are in `raw`. `commentCount` is always null. Costs 1 credit.

Parametersurlrequiredcache_max_age

bluesky_post

bluesky: Post

Post. A single public Bluesky post with like, reply, repost and quote counts, plus any attached images or video. Costs 1 credit.

Parametersurlrequiredcache_max_age

bluesky_profile

bluesky: Profile

Profile. Public profile for a Bluesky account: followers, following, post count, bio, avatar, banner, and verification status. Costs 1 credit.

Parametershandlerequiredcache_max_age

bluesky_userPosts

bluesky: User posts

User posts. Recent public posts from a Bluesky account, newest first. Reposts are excluded by default so the feed reflects what the account actually wrote. Costs 1 credit.

Parameterscountcursorhandlerequiredcache_max_ageinclude_reposts

dailymotion_channel

dailymotion: Channel profile

Channel profile. Public profile of a Dailymotion channel: followers, following, video count, lifetime views, verification badge, country and creation date. Costs 1 credit.

Parametershandlerequiredcache_max_age

dailymotion_channelVideos

dailymotion: Channel videos

Channel videos. A Dailymotion channel's public uploads, newest first, 50 per page, all the way back to the first upload. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

dailymotion_video

dailymotion: Video details

Video details. Public metadata for a Dailymotion video: views, likes, duration, tags, upload date and channel. Dailymotion has no public comments, so `commentCount` is null. Costs 1 credit.

Parametersurlrequiredcache_max_age

dailymotion_transcript

dailymotion: Video transcript

Video transcript. A Dailymotion video's captions as one text block plus timed cues. Returns the requested language when the video has it, otherwise the first track. Most are generated automatically by Dailymotion. Costs 1 credit.

Parametersurlrequiredlanguagecache_max_age

deezer_album

deezer: Album details

Album details. A Deezer album: title, artist, label, UPC, release date, fans (`likeCount`) and its tracks. Pass `cursor` to page the tracks of a long album. Costs 1 credit.

Parametersidrequiredcursorcache_max_age

deezer_artist

deezer: Artist profile

Artist profile. A Deezer artist: name, fans, album count, picture and link. Costs 1 credit.

Parametersidrequiredcache_max_age

deezer_artistAlbums

deezer: Artist albums

Artist albums. An artist's albums, singles and EPs on Deezer. `likeCount` is the release's fans. Costs 1 credit.

Parametersidrequiredlimitcursorcache_max_age

deezer_artistTopTracks

deezer: Artist top tracks

Artist top tracks. An artist's most popular tracks on Deezer, most popular first. Costs 1 credit.

Parametersidrequiredlimitcursorcache_max_age

deezer_charts

deezer: Charts

Charts. Deezer's global top tracks, albums, artists, playlists or podcasts. Costs 1 credit.

Parameterstypelimitcache_max_age

deezer_playlist

deezer: Playlist contents

Playlist contents. A public Deezer playlist: title, owner, description, cover, track count, fans and its tracks. Pass `cursor` to page the tracks of a long playlist. Costs 1 credit.

Parametersidrequiredcursorcache_max_age

deezer_podcast

deezer: Podcast details

Podcast details. A Deezer podcast: title, description, artwork and fans. Deezer publishes no episode count, so `postCount` is null. Costs 1 credit.

Parametersidrequiredcache_max_age

deezer_podcastEpisodes

deezer: Podcast episodes

Podcast episodes. A Deezer podcast's episodes, newest first. Costs 1 credit.

Parametersidrequiredlimitcursorcache_max_age

deezer_track

deezer: Track details

Track details. A Deezer track: title, artist, album artwork, duration, release date, ISRC and tempo. Costs 1 credit.

Parametersidrequiredcache_max_age

deezer_userPlaylists

deezer: User playlists

User playlists. A Deezer user's public playlists. Costs 1 credit.

Parametersidrequiredlimitcursorcache_max_age

inference_ageGender

inference: Estimate age and gender from an image

Estimate age and gender from an image. Apparent age and gender estimated from a public image URL. This is a model ESTIMATE, not measured platform data, and every response is labelled as such. Requires an inference provider to be configured on the deployment. Costs 1 credit.

Parametersurlrequiredcache_max_age

ebay_product

ebay: eBay listing details

eBay listing details. Public details for an eBay listing: title, price, condition, seller and an inline sample of reviews. Costs 1 credit. Pass either `product_id` or `url`.

Parameterstldurlproduct_idcountry_codecache_max_age

facebook_ad

facebook: Ad details

Ad details. One ad from the Meta Ad Library by its archive id. Meta does not expose the archive as an addressable node for every ad; pass `page_id` as well and we find it by scanning that advertiser's archive instead. Costs 1 credit.

Parametersidrequiredcountrypage_idcache_max_age

facebook_adTranscript

facebook: Ad video transcript

Ad video transcript. Retrieves a transcript for a single Facebook Ad Library video ad by ID or URL, read from the caption track Facebook publishes for the ad's video (`source: "captions"`). Transcription of ad videos without captions is coming soon; until then those answer `not_configured` (501) and are not charged. Credits are only deducted when a transcript is actually returned. Costs 1 credit. Pass exactly one of `id` or `url`.

Parametersidurllanguagecache_max_age

facebook_adLibraryAdvertisers

facebook: Find advertisers running ads

Find advertisers running ads. Distinct advertisers whose ads match a search term, with the `page_id` needed by /v1/facebook/ad-library/page-ads. Derived from the ads an Ad Library search returns, ranked by how many of them each advertiser ran. Costs 1 credit.

Parameterslimitqueryrequiredstatuscountrycache_max_age

facebook_pageAds

facebook: All ads for one advertiser

All ads for one advertiser. Ads a specific Facebook page is running or has run, from Meta's Ad Library. This is the competitor-monitoring endpoint. `pagination.cursor` is filled only where the deployment reads the Graph Ad Library API; otherwise `pagination.hasMore` says whether more exist. Costs 2 credits.

Parameterslimitcursorstatusad_typecountrypage_idrequiredend_datelanguageplatformmedia_typestart_datecache_max_age

facebook_adLibrarySearch

facebook: Search the Meta Ad Library

Search the Meta Ad Library. Facebook, Instagram, Messenger and Threads ads matching a search term, from Meta's Ad Library, in the Library's own order. Spend and impression ranges are filled for political and issue ads only where the deployment reads the Graph Ad Library API; `pagination.hasMore` says when more results exist. Costs 2 credits.

Parameterslimitqueryrequiredcursorstatusad_typecountryend_datelanguageplatformmedia_typestart_datesearch_type+1 more

facebook_cityEvents

facebook: Get the events of a city

Get the events of a city. Public events Facebook is suggesting for a city, from its Events Explore feed (e.g. https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547). `time` narrows the window to today, this week, or next week; without it Facebook returns whatever it has queued as upcoming, in whatever order it ranks them. Only the first, server-rendered page: host and description are not exposed on this listing (only on /v1/facebook/event). `pagination.hasMore` says whether Facebook has more; this endpoint returns no cursor to fetch them. Costs 1 credit.

Parametersurlrequiredtimecache_max_age

facebook_commentReplies

facebook: Replies to a comment

Replies to a comment. Replies under one comment on a public Facebook post, ten per page. Pass the post URL and the comment id (the `id` of any item from /v1/facebook/post-comments), then `pagination.cursor` for the next page. Costs 1 credit.

Parametersurlrequiredcursorcomment_idrequiredcache_max_age

facebook_event

facebook: Event details

Event details. Full details for one public Facebook event: description, start and end time, venue with coordinates, host and ticket price range. Costs 1 credit.

Parametersurlrequiredcache_max_age

facebook_eventsSearch

facebook: Search public events

Search public events. Public Facebook events matching a search term. Results are ranked and biased toward where Facebook places the request, so the same query can return a different set on another call. Treat this as discovery, not as an enumerable list. Costs 1 credit.

Parametersqueryrequiredcache_max_age

facebook_group

facebook: Public group info

Public group info. Name, member count, privacy setting and description for a public Facebook group. Member count lands in `followerCount` (a group's equivalent of an audience size) and the privacy setting in `category`. Facebook rounds that count on large groups ("12K members"); `raw.memberCountIsApproximate` says whether the number you got was rounded. Costs 1 credit.

Parametersurlrequiredcache_max_age

facebook_groupPosts

facebook: Public group posts

Public group posts. Recent posts from a public Facebook group, with reaction, comment and share counts where Facebook renders them. Only the newest few stories render to a logged-out visitor, the same limit /v1/facebook/page-posts has. Private groups return an empty result; their posts are not public and we do not log in. Costs 1 credit.

Parametersurlrequiredcache_max_age

facebook_marketplaceItem

facebook: Marketplace listing details

Marketplace listing details. One public Facebook Marketplace listing: title, full description, price, location, delivery options and every photo. Facebook does not render the seller to a logged-out visitor, so seller identity is not returned. Costs 1 credit.

Parametersurlrequiredcache_max_age

facebook_marketplaceLocations

facebook: Find a Marketplace location

Find a Marketplace location. Resolve a place name to the Marketplace location ids /v1/facebook/marketplace/search accepts, plus the neighbouring locations Facebook offers around it. Marketplace is city-scoped, so this is how you search a city you are not sitting in. Costs 1 credit.

Parametersqueryrequiredcache_max_age

facebook_marketplaceSearch

facebook: Search Marketplace listings

Search Marketplace listings. Public Facebook Marketplace listings matching a search term, with price, condition flags, location and photos. `location` takes a city slug or a location id from /v1/facebook/marketplace/locations; without one, Facebook picks the city it places the request in, which you do not control. Pass `location` for results you can repeat. Costs 1 credit.

Parametersqueryrequiredsort_bylocationmax_pricemin_priceradius_kmcache_max_agedelivery_methoddays_since_listed

facebook_pagePosts

facebook: Public Page posts

Public Page posts. Recent public posts from a Facebook Page, newest first, three per page, with text, reaction, comment and share counts, and the publish timestamp. Pass `pagination.cursor` back for the next three. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

facebook_pageReels

facebook: Public Page videos and reels

Public Page videos and reels. Public videos and reels from a Facebook Page. Reads the Page's reels tab first, ten per page with `pagination.cursor` for the next ten, and falls back to its video grid, which renders around twenty entries with titles, view counts and durations and has no cursor, so a Page with no reels returns its videos rather than an error. Items are keyed by video id and can be passed straight to /v1/facebook/post or /v1/facebook/post-transcript. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

facebook_post

facebook: Single post, video, or reel

Single post, video, or reel. One public Facebook post, video or reel by URL, with its text and engagement counts. Costs 1 credit.

Parametersurlrequiredcache_max_age

facebook_postComments

facebook: Comments on a post

Comments on a post. Top-level comments on a public Facebook post, with author, reaction count and reply count, in Facebook's "Most relevant" order. The first page is the head of the thread Facebook renders into the post, usually two comments; pass `pagination.cursor` back for the next ten. The post's full comment total is on /v1/facebook/post. Use /v1/facebook/comment-replies for the replies under one comment. `likeCount` is only as precise as Facebook publishes it: comment reactions ship in abbreviated form ("2.4K") with no exact figure anywhere in the payload, so counts above about a thousand are rounded at source. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

facebook_postTranscript

facebook: Video transcript

Video transcript. Transcript for a public Facebook video or reel, as one text block plus timed cues. Reads the caption track Facebook publishes for the video, auto-generated when the uploader added none (`source: "captions"`). Transcription of videos without captions is coming soon; until then such a video answers `not_configured` (501) and is not charged. Costs 1 credit.

Parametersurlrequiredlanguagecache_max_age

facebook_profile

facebook: Public Page profile

Public Page profile. Name, category, follower and like counts, description, banner and outbound links for a public Facebook Page. `followerCount` is as precise as Facebook renders it: exact on a small Page ("498 followers"), rounded on a large one ("28M followers", so ±500,000). `raw.followerCountIsApproximate` says which you got, and `raw.likeCount` carries the exact like figure Facebook always prints. Pass `extra_fetch=true` to also fill `createdAt`, the date the Page was created, which lives only on the Page transparency tab: it costs 1 extra credit and one large additional fetch, refunded if that fetch cannot be read. Costs 1 credit.

Parametersurlrequiredextra_fetchcache_max_age

facebook_profileEvents

facebook: Events on a Page

Events on a Page. Events hosted by a public Facebook Page, upcoming ones first, with past events where Facebook still lists them, eight per page; pass `pagination.cursor` back for the next eight. Each carries start time, place, host and the cover photo. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

facebook_profilePhotos

facebook: Photos on a Page

Photos on a Page. Photos from a public Facebook Page's photo grid, eight per page, newest first; pass `pagination.cursor` back for the next eight. Facebook exposes each photo's accessibility caption rather than the text of the post it came from, so that is what lands in `title`. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

identity_findSocialProfiles

identity: Find a creator's other social profiles

Find a creator's other social profiles. Starts from one public profile and reports the other accounts that profile can be shown to own: profiles it links to directly, profiles reached through a recognised link-in-bio page (Linktree, Komi, Pillar, Lnk.Bio, LinkMe), and same-handle accounts on the other supported platforms that link back to the source or share a website only the owner controls. Covers Instagram, TikTok, YouTube, X and Facebook. A same-handle account with no corroboration is reported under `candidates`, never as a profile: the handle matching is a fact handed over, not a claim. There is no search-engine discovery and no display-name matching; neither is evidence of ownership. Every result carries the evidence type it rests on. Each entry in `failures` carries the inner error’s `code` and `message`, so "we checked and found nothing" (`upstream_not_found`, `empty_result`) stays distinguishable from "we could not check" (`upstream_unavailable`, `not_configured`); only the second kind sets `partial`. Not covered: any platform outside the five, and links a creator has not published. An X/Twitter source can only be resolved by same-handle probing, because X exposes no bio links at all to a logged-out caller. The 20-second budget stops the composite scheduling new inner fetches; it does not abort one already in flight, so a slow leg is reported as a timeout while its request finishes unread. Link-in-bio expansion is verified against fixtures only, because no channel sampled live from our network published a link-in-bio URL to expand. A `partial: true` answer is cached for the same seven days as a complete one, so pass `cache_max_age=0` to refetch after a transient failure rather than being served the gap for a week. Pricing is per source checked: the 10 credits buy the legs this call runs (the starting profile, each link-in-bio page expanded, and each same-handle probe), and a leg listed in `unchecked` is not charged for, so a partial answer costs `ceil(10 x

Parametershandlerequiredplatformrequiredcache_max_age

flickr_post

flickr: Photo or video details

Photo or video details. A public Flickr photo or video: title, description, owner, views, faves, comments, upload date and media addresses. A video lists one signed MP4 per encode, best first, and those links expire within minutes, so fetch them straight away. A photo lists its largest public size. `durationSeconds` is null because Flickr does not state it. Costs 1 credit.

Parametersurlrequiredcache_max_age

github_repository

github: Repository details

Repository details. Public details for a repository: stars, forks, open issues, topics, language and licence. Stars map to `likeCount`, forks to `shareCount`; open issues and pull requests are `openIssuesCount`. Costs 1 credit.

Parametersurlrequiredcache_max_age

github_trendingDevelopers

github: Trending developers

Trending developers. The public github.com/trending/developers board. Counts are null: the board renders names and popular repositories, not follower numbers. Costs 1 credit.

Parameterssincelanguagecache_max_age

github_trendingRepositories

github: Trending repositories

Trending repositories. The public github.com/trending board. `likeCount` is total stars, `shareCount` total forks and `starsInPeriod` the stars gained in the chosen period. Costs 1 credit.

Parameterssincelanguagecache_max_agespoken_language_code

github_user

github: User or organisation profile

User or organisation profile. Public profile for a GitHub user or organisation: followers, public repo count, bio, location and links. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlhandlecache_max_age

github_activity

github: Public activity

Public activity. Public events for a user: pushes, pull requests, issues, stars, forks and releases. GitHub caps this feed at 300 events / 90 days regardless of paging. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlcursorhandlecache_max_age

github_contributions

github: Contributions calendar

Contributions calendar. The contribution graph for one calendar year: a per-day count plus GitHub's 0–4 intensity level, and the annual total. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlyearhandlecache_max_age

github_followers

github: Followers

Followers. Accounts following this user, 30 per page. GitHub serves a reduced user payload here, so per-account counts are null. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlcursorhandlecache_max_age

github_following

github: Following

Following. Accounts this user follows, 30 per page. GitHub serves a reduced user payload here, so per-account counts are null. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlcursorhandlecache_max_age

github_pullRequests

github: Pull requests by a user

Pull requests by a user. Pull requests authored by a user across all public repositories, newest first. `since` / `until` filter on creation date. Costs 1 credit.

Parameterssinceuntilcursorhandlerequiredcache_max_age

github_userRepositories

github: User repositories

User repositories. Public repositories owned by a user or organisation, 30 per page. Costs 1 credit. Pass either `handle` or `url`.

Parametersurlsorttypecursorhandledirectioncache_max_age

google_ad

google: Ad details

Ad details. One creative from the Ads Transparency Centre, with every rendering variant and the per-country dates it ran. For a text ad, `headline`, `body` and `linkUrl` come from its rendered preview, and `linkUrl` is the address the ad displays. Costs 1 credit.

Parametersurlrequiredregioncache_max_age

google_advertiserAds

google: Ads run by an advertiser or domain

Ads run by an advertiser or domain. Creatives in the Ads Transparency Centre for one advertiser id or one verified domain, with first-shown and last-shown dates. Pass the `cursor` from the previous response to page. Costs 2 credits. Pass either `domain` or `advertiser_id`.

Parameterscursordomainregionadvertiser_idcache_max_age

google_adLibraryAdvertisers

google: Find advertisers in the Ads Transparency Centre

Find advertisers in the Ads Transparency Centre. Advertisers matching a name, with the advertiser id that /v1/google/ad-library/advertiser-ads needs, plus the verified domains Google suggests for the same term in `domains`. Without `region` every region is searched. `postCount` and `adCountUpper` are the lower and upper bounds of the ad-count range the archive publishes, counted within `region` when one is given. Costs 1 credit.

Parametersqueryrequiredregioncache_max_age

google_jobs

google: Google Jobs results

Google Jobs results. Job postings for a query: title, company, location and the board it was syndicated from. Results lean toward an area that can change between calls, so name the place in your query. Slower than most endpoints, often 20 seconds or more. A failed attempt returns `upstream_unavailable` and is not charged. Costs 5 credits.

Parametersglhltlduulequeryrequiredstartcountry_codecache_max_age

google_mapsSearch

google: Google Maps place search

Google Maps place search. Business listings near a coordinate: name, address, phone, website, rating and hours, 20 per page. A failed attempt returns `upstream_unavailable` and is not charged. Costs 5 credits.

Parametersglhltlduulequeryrequiredstartlatituderequiredlongituderequiredcountry_codecache_max_age

google_news

google: Google News results

Google News results. News articles for a query: title, source and published time, up to about 100 items. `link` is Google's article link, not the publisher's URL. A failed attempt returns `upstream_unavailable` and is not charged. Costs 5 credits.

Parametersglhltbstlduulequeryrequiredstartcountry_codecache_max_age

google_shopping

google: Google Shopping results

Google Shopping results. Shopping listings for a query: title, price, currency and merchant. `url` and `availability` are null because the listing page does not carry them. Slower than most endpoints, often 20 seconds or more. A failed attempt returns `upstream_unavailable` and is not charged. Costs 5 credits.

Parametersglhltbstlduulequeryrequiredstartcountry_codecache_max_age

instagram_audioReels

instagram: Reels using a sound

Reels using a sound. Reels built on one audio track, the "N reels using this audio" list. Takes the numeric audio id or a /reels/audio/ URL. Falls back to the public audio page, which lists its first grid of reels only once rendered, as links and cover images. Costs 1 credit.

Parameterscountcursoraudio_idrequiredcache_max_age

instagram_commentReplies

instagram: Replies under one comment

Replies under one comment. The full reply thread under a single comment. Take `comment_id` from `data.items[].id` on /v1/instagram/post-comments; the post URL is still required because Instagram addresses replies through the media that carries them. Costs 1 credit.

Parametersurlrequiredcountcursorcomment_idrequiredcache_max_age

instagram_hashtagPosts

instagram: Posts under a hashtag

Posts under a hashtag. Posts carrying a hashtag. `tab=top` is Instagram's ranking (one fixed page, no cursor); `tab=recent` is chronological and paginates. Falls back to the server-rendered tag page when the JSON surface declines, which returns the top grid only. Set `extra_fetch=true` to fill each post's publish date, like and comment counts and caption from its own page: 1 credit per item fetched, up to the page size. Costs 1 credit.

Parameterstabcursorhashtagrequiredextra_fetchcache_max_age

instagram_highlight

instagram: Stories inside a highlight

Stories inside a highlight. Every story in one highlight reel, oldest first, with its media URLs. Takes the `id` from /v1/instagram/user-highlights, a bare numeric id, or a /stories/highlights/ URL. Costs 1 credit.

Parametersidrequiredcache_max_age

instagram_popularSearch

instagram: Top posts for a keyword

Top posts for a keyword. Top posts for a keyword from Instagram's public Popular page for it, the page at instagram.com/popular/<keyword>/: reels, images and carousels together, in Instagram's order. One page; `hasMore` says whether Instagram holds more than it shows. Costs 1 credit.

Parametersqueryrequiredcursorcache_max_age

instagram_post

instagram: Post or reel details

Post or reel details. One public post, reel or carousel with its caption, media URLs and engagement counts. Falls back to Instagram's public embed payload when the web client's persisted query is unavailable, so a Meta client release degrades this rather than breaking it. Play counts arrive in this same request, so there is no second fetch to skip and no play-count parameter to pass. Costs 1 credit.

Parametersurlrequiredcache_max_age

instagram_postComments

instagram: Comments on a post or reel

Comments on a post or reel. Top-level comments, newest first, about fifteen per page, each with its text, author, like count and date. Follow `pagination.cursor` for older comments. Set `include_replies=true` to also return any replies Instagram shipped inline with their parent. For the full reply thread under one comment, use /v1/instagram/comment-replies. Costs 1 credit.

Parametersurlrequiredcountcursorcache_max_ageinclude_replies

instagram_profile

instagram: Profile details

Profile details. Public profile for an Instagram account: followers, following, post count, bio, links and business category. Private accounts return their public shell with `isPrivate: true` rather than an error. That is a real answer. Costs 1 credit.

Parametershandlerequiredcache_max_age

instagram_profilePostCount

instagram: Post count for a profile

Post count for a profile. The total post count on a public Instagram profile, exact wherever Instagram publishes the exact figure. Call this when a fuller profile is not needed. `source` names which of the two dialects Instagram ships a count in carried it (`edge_owner_to_timeline_media.count` or `media_count`). Instagram does not expose this metadata for every profile: when neither is present, `postCount` is null and the request is not charged. Costs 1 credit.

Parametershandlerequiredcache_max_age

instagram_profileSearch

instagram: Search accounts

Search accounts. Accounts matching a query, as unified Creators. The follower counts on a search result are Instagram's own summary and are thinner than /v1/instagram/profile. Fetch that for one account you care about. One page only; this surface has no cursor. Costs 1 credit.

Parametersqueryrequiredcache_max_age

instagram_reelsSearch

instagram: Search reels by keyword

Search reels by keyword. Reels matching a keyword, from Instagram's own keyword search rather than its hashtag index. The two return genuinely different sets, so this never quietly substitutes one for the other. Results are whatever Instagram ranked for the query at that moment. Costs 1 credit.

Parametersqueryrequiredcursorcache_max_age

instagram_transcript

instagram: Reel or video transcript

Reel or video transcript. The caption track Instagram published for a reel or video, as one text block plus timed cues. This is Instagram's own track, never a transcription of the audio, so a transcript here is what the platform published rather than what a model guessed. Instagram has published no caption track on any reel checked so far, so most requests return `empty_result`, which is free. Costs 1 credit.

Parametersurlrequiredcache_max_age

instagram_trendingReels

instagram: Reels trending on Explore

Reels trending on Explore. Reels off Instagram's public Explore grid. Worth knowing what this is and is not: Explore is region-shaped, so what comes back depends on where the request exits, and it is Instagram's editorial surface rather than a global chart. There is no public trending feed on Instagram; this is the closest one that exists. Set `extra_fetch=true` to fill each reel's publish date, caption and duration from its own page: 1 credit per item fetched, up to the page size. Costs 1 credit.

Parameterscountcursorextra_fetchcache_max_age

instagram_userEmbed

instagram: Profile via the public embed card

Profile via the public embed card. A profile read off Instagram's public embed card, with the embed HTML in `raw.html` for anyone who wants to render it. Instagram publishes embeds so third parties can display them, which makes this the profile path it has the least reason to gate. The same reasoning puts the post embed on /v1/instagram/post's fallback. It carries fewer fields than /v1/instagram/profile; reach for it when that one is blocked, or when you want the markup. Costs 1 credit.

Parametershandlerequiredcache_max_age

instagram_userHighlights

instagram: Story highlight covers

Story highlight covers. The highlight reels pinned to a profile: title, cover, and how many stories each holds. Pass an `id` from here to /v1/instagram/highlight for the stories inside one. Highlights are the only Instagram stories that stay public indefinitely: live stories expire in 24 hours and are not served logged-out. Costs 1 credit. Pass either `handle` or `user_id`.

Parametershandleuser_idcache_max_age

instagram_userPosts

instagram: Posts and reels from a profile

Posts and reels from a profile. A profile grid, newest first, twelve posts per page, each with its caption, type and owner. Follow `pagination.cursor` for older posts. On the first page, reels also carry like, comment and play counts; other posts, and every post on later pages, have them null, because the grid does not carry them. No page carries a publish date. Fetch /v1/instagram/post for a specific post to get its counts and date, or set `extra_fetch=true` to fill each post's publish date, like and comment counts and caption from its own page in one call: 1 credit per item fetched, up to the page size. `authorHandle` is read per post: a collab or tagged post appears in a profile grid owned by the OTHER account, and this reports the real owner rather than the handle you asked for. Costs 1 credit.

Parameterscountcursorhandlerequiredextra_fetchcache_max_age

instagram_userReels

instagram: Reels from a profile

Reels from a profile. A profile's reels, newest first, twelve per page, each with like, comment and play counts. Follow `pagination.cursor` for older reels. The first page also carries captions; later pages do not, so `text` is null there, and a collab reel owned by another account has `authorHandle` null. No page carries a publish date; fetch /v1/instagram/post for one reel's date, or set `extra_fetch=true` to fill each reel's publish date, caption and duration from its own page in one call: 1 credit per item fetched, up to the page size. If the reels tab is unavailable, the first page falls back to the clips in the profile grid, with captions but no counts and no cursor. An account with no public reels is an empty result, and is not charged. `raw.source` says which path answered. Costs 1 credit. Pass either `handle` or `user_id`.

Parameterscountcursorhandleuser_idextra_fetchcache_max_age

instagram_userTaggedPosts

instagram: Posts a profile is tagged in

Posts a profile is tagged in. Public posts by other accounts that tagged this user (the "Tagged" tab). Note this is other people's content: `authorHandle` is the poster, not the tagged account. Users can hide the tab, which returns `empty_result`. Costs 1 credit. Pass either `handle` or `user_id`.

Parameterscountcursorhandleuser_idcache_max_age

kick_clip

kick: Clip

Clip. A public Kick clip: title, creator, channel, duration, view count, and media URL. Costs 1 credit.

Parametersurlrequiredcache_max_age

komi_page

komi: Komi page

Komi page. Public Komi page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

kwai_post

kwai: Post

Post. A single public Kwai video with its view, like, comment and forward counts. Costs 1 credit.

Parametersurlrequiredcache_max_age

kwai_profile

kwai: Profile

Profile. Public Kwai profile: follower and following counts, public video count, likes received, bio, avatar, and creator category. Costs 1 credit.

Parametershandlerequiredcache_max_age

kwai_userPosts

kwai: User posts

User posts. Public videos from a Kwai profile, newest first after any pinned ones, with view, like, comment and forward counts. Pass `pagination.cursor` back as `cursor` for the next page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

linkbio_page

linkbio: Lnk.Bio page

Lnk.Bio page. Public Lnk.Bio page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_ad

linkedin: Ad details

Ad details. One ad from LinkedIn's public Ad Library: creative, copy, advertiser, and the paying entity. Ads covered by EU disclosure rules also carry run dates, target countries and impression bands; ads outside those rules do not, and those fields come back null rather than guessed. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_adsSearch

linkedin: Search ads

Search ads. Search LinkedIn's public Ad Library by advertiser or keyword. Pass `company` (a company page slug or numeric id) to list one advertiser's ads, `keyword` to search copy, or both. Returns the first page LinkedIn server-renders, about 25 ads; the total number of matches is in `raw.totalMatches`. Costs 1 credit. Pass `company`, `keyword`, or both. The Ad Library will not return an unfiltered archive.

Parameterscompanykeywordend_datecountriesstart_datecache_max_age

linkedin_company

linkedin: Company page

Company page. A LinkedIn company page: description, industry, follower count, headquarters, size, type, founding year, specialties, employee count and logo. Also works for school and showcase pages. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_companyPosts

linkedin: Company posts

Company posts. Recent posts from a company page, with reaction and comment counts. Read from the company page itself: LinkedIn's dedicated /posts/ tab is behind the sign-in wall, but the same updates render on the public page. That caps the result at roughly the last ten posts. There is no logged-out pagination, so `hasMore` is always false. Posts by members that the company features carry that member as the author. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_post

linkedin: Post details

Post details. One LinkedIn post: full text, media, author, publication time, reactions and comment count. Top-level comments LinkedIn publishes on the page ride along in `raw.comments`. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_postTranscript

linkedin: Post transcript

Post transcript. Captions for a LinkedIn video post, as one text block plus timed cues, read from the caption track LinkedIn publishes with the video, its automatic captions included. A post without video, or a video without a caption track, returns an empty result, which is never charged. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_profile

linkedin: Person's profile

Person's profile. A LinkedIn member's public profile: name, headline, location, follower count, avatar, current employers and education. LinkedIn masks parts of a logged-out profile with asterisks; masked values are dropped rather than returned as `****`. Costs 1 credit.

Parametersurlrequiredcache_max_age

linkedin_searchPosts

linkedin: Search posts

Search posts. Keyword search over LinkedIn posts. LinkedIn gates content search behind sign-in for every logged-out caller (/search/results/content/ redirects to /uas/login regardless of origin IP), and we do not scrape authenticated sessions, so this endpoint reports the gate rather than pretending to be broken. It is shipped so callers get one clear, unbilled answer instead of a 404 on a documented route. Costs 1 credit.

Parametersqueryrequiredcursordate_postedcache_max_age

linkme_page

linkme: LinkMe page

LinkMe page. Public LinkMe page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

linktree_page

linktree: Linktree page

Linktree page. Public Linktree page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

mashable_video

mashable: Video details

Video details. A Mashable video: title, summary, author, tags, duration, thumbnail and the addresses of its video files, best quality first, then the stream. Mashable shows no view, like or comment counts, so those are null. `mediaUrls` is empty, and the call is free, when the file behind an older video is gone. Costs 1 credit.

Parametersurlrequiredcache_max_age

mastodon_post

mastodon: Post

Post. A single public Mastodon post with its favourite, reply and boost counts and attached media. Costs 1 credit.

Parametersurlrequiredcache_max_age

mastodon_postReplies

mastodon: Post replies

Post replies. Public replies to a Mastodon post, in thread order, from every server the hosting server knows of. Servers return at most about 60 replies to a signed-out reader. Replies from accounts that opted out of search engine indexing are left out. Costs 1 credit.

Parametersurlrequiredcache_max_age

mastodon_profile

mastodon: Profile

Profile. A public Mastodon account, read from its own server: follower, following and post counts, bio, avatar, header image and profile links. Accounts that opted out of search engine indexing are refused, free. Costs 1 credit.

Parametershandlerequiredcache_max_age

mastodon_userPosts

mastodon: User posts

User posts. An account's public posts, newest first, with favourite, reply and boost counts. Boosts of other people's posts are left out. Costs 1 credit.

Parameterscountcursorhandlerequiredcache_max_ageexclude_replies

milkshake_page

milkshake: Milkshake page

Milkshake page. Public Milkshake page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

mixcloud_profile

mixcloud: Profile

Profile. Public Mixcloud profile: followers, following, upload count, bio, avatar, cover image and location. Costs 1 credit.

Parametershandlerequiredcache_max_age

mixcloud_tag

mixcloud: Popular uploads for a tag

Popular uploads for a tag. A tag's popular uploads as Mixcloud ranks them, with plays, favourites, reposts and comments. Costs 1 credit.

Parameterstagrequiredlimitcursorcache_max_age

mixcloud_upload

mixcloud: Upload details

Upload details. One Mixcloud upload: plays, favourites, reposts, comments, duration, tags and description. The tracklist, when the uploader published one, is in `raw.sections`. Costs 1 credit.

Parametersslugrequiredhandlerequiredcache_max_age

mixcloud_uploadComments

mixcloud: Upload comments

Upload comments. Public comments on a Mixcloud upload. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parametersslugrequiredlimitcursorhandlerequiredcache_max_age

mixcloud_followers

mixcloud: User followers

User followers. A user's followers, most recent first: username, display name and avatar. Counts are not part of this list; fetch a profile for them. Costs 1 credit.

Parameterslimitcursorhandlerequiredcache_max_age

mixcloud_following

mixcloud: Accounts a user follows

Accounts a user follows. Accounts a user follows, most recent first: username, display name and avatar. Counts are not part of this list; fetch a profile for them. Costs 1 credit.

Parameterslimitcursorhandlerequiredcache_max_age

mixcloud_userUploads

mixcloud: User uploads

User uploads. A user's public uploads, newest first, with plays, favourites, reposts and comments. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterslimitcursorhandlerequiredcache_max_age

odysee_channel

odysee: Channel

Channel. Public metadata for an Odysee channel: title, description, avatar, banner, subscriber count, number of videos, website and creation date. Costs 1 credit.

Parametershandlerequiredcache_max_age

odysee_channelVideos

odysee: Channel videos

Channel videos. An Odysee channel's videos, newest first, 50 per page, with view and like counts. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

odysee_video

odysee: Video details

Video details. Public metadata for an Odysee video: title, description, duration, tags, release date, channel, and view, like and comment counts. Dislikes are in `raw.dislikeCount`. Costs 1 credit.

Parametersurlrequiredcache_max_age

odysee_comments

odysee: Video comments

Video comments. Top-level comments on an Odysee video, 50 per page, with like and reply counts. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

okru_video

okru: Video details

Video details. Public metadata for an OK.ru (Odnoklassniki) video: title, description, channel, duration, views, likes, comments, shares and upload date. `mediaUrls` lists the video files largest first, then the HLS playlist. Those links expire after about a day and answer only requests sent with a Chrome or Edge browser User-Agent. Costs 1 credit.

Parametersurlrequiredcache_max_age

peertube_channel

peertube: Channel profile

Channel profile. Public profile of a PeerTube channel, read from the instance that hosts it: followers, following, video count, avatar, banner and creation date. Costs 1 credit.

Parametershandlerequiredcache_max_age

peertube_channelVideos

peertube: Channel videos

Channel videos. A PeerTube channel's public videos, newest first, 50 per page. Tags are not included in list items; `peertube.video` returns them. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

peertube_video

peertube: Video details

Video details. Public metadata for a PeerTube video: views, likes, comment count, duration, tags, publish date and channel. Costs 1 credit.

Parametersurlrequiredcache_max_age

peertube_comments

peertube: Video comments

Video comments. Top-level comments on a PeerTube video, newest first, 100 per page, including those posted from other fediverse servers. `replyCount` gives each thread's replies; `peertube.commentReplies` returns them. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

peertube_commentReplies

peertube: Comment replies

Comment replies. Every reply under one top-level comment on a PeerTube video, nested replies included, each with `parentId` naming the comment it answers. Costs 1 credit.

ParametersurlrequiredcommentIdrequiredcache_max_age

peertube_transcript

peertube: Video transcript

Video transcript. A PeerTube video's captions as one text block plus timed cues. Returns the requested language when the video has it, otherwise the first track. `isAutoGenerated` says whether the instance transcribed it automatically. Costs 1 credit.

Parametersurlrequiredlanguagecache_max_age

pillar_page

pillar: Pillar page

Pillar page. Public Pillar page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

pinterest_board

pinterest: Board and its pins

Board and its pins. Board metadata plus a page of its pins. Pass the `cursor` from the previous response to page through the board. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

pinterest_pin

pinterest: Pin details

Pin details. Public details for a pin: title, description, reactions, comments, shares and full-resolution media. The destination link and save count are in `raw`. Costs 1 credit.

Parametersurlrequiredcache_max_age

pinterest_userBoards

pinterest: Boards owned by a user

Boards owned by a user. Public boards on a profile, most recently pinned-to first, with pin and follower counts. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

reddit_post

reddit: Post details

Post details. One Reddit post with its score, comment count, body text and media. Use `reddit.postComments` for the comment tree. They are separate endpoints, so a post with no comments is still a paid, cached result rather than an empty one. Costs 1 credit.

Parametersurlrequiredcache_max_age

reddit_commentReplies

reddit: Comment replies

Comment replies. The reply thread under a single comment: the continuation behind Reddit's "load more comments". Takes a comment permalink, or "postId:commentId". Costs 1 credit.

Parametersurlrequiredsortdepthcache_max_age

reddit_postComments

reddit: Post comments

Post comments. A post's comment tree, flattened into reading order with `parentId` preserved so callers can rebuild it. Returns the comments Reddit shows on the post's first page, with `raw.totalComments` giving the post's full count and `pagination.hasMore` true when more exist; `pagination.cursor` is null. Reddit collapses deep threads behind continuation stubs; fetch those with `reddit.commentReplies`. Costs 1 credit.

Parametersurlrequiredsortdepthlimitcache_max_age

reddit_postTranscript

reddit: Video transcript

Video transcript. Transcript for a Reddit-hosted video, from a direct v.redd.it URL, a post URL, or a post id. Reddit auto-captions much of its hosted video and publishes the result as a WebVTT file beside the video; this returns it as one text block plus timed cues, with the raw WebVTT in `raw.rawVtt`. English is the only caption language observed. Videos with no caption file return an empty result and are not charged. A caption track Reddit advertises only in segmented form, named by the playlist with no flat `.vtt` beside the video, is reported as `upstream_schema_drift` today and is likewise never charged. Covers Reddit-hosted video only. A post linking to YouTube or another site has no Reddit caption file and returns an empty result. A post URL or id is resolved to its video first, so a `v.redd.it` URL is one request quicker. Costs 1 credit.

Parametersurlrequiredlanguagecache_max_age

reddit_subreddit

reddit: Subreddit posts

Subreddit posts. Posts from a subreddit, sorted the way Reddit sorts them, with scores and comment counts. `sort=top` and `sort=controversial` accept a `timeframe`. `raw.posts` adds each post's subreddit, flair, post type and upvote ratio. `raw.via` names the surface that answered; when Reddit serves only its Atom feed (`atom`), scores and comment counts are null. Costs 1 credit.

Parameterssortlimitcursorsubredditrequiredtimeframecache_max_age

reddit_subredditDetails

reddit: Subreddit details

Subreddit details. Public metadata for a subreddit: title, description, icon, banner, and where Reddit shows them, subscribers, people online now, creation date and whether it is private or restricted. `raw.via` names the surface: on `shreddit`, subscribers, creation date and privacy are null, and `raw.weeklyVisitors` and `raw.weeklyContributions` carry Reddit's weekly activity figures. Costs 1 credit.

Parameterssubredditrequiredcache_max_age

reddit_user

reddit: User profile

User profile. A Reddit account's public profile: display name, description, avatar, account age, and karma (returned under `raw.karma`, since the unified schema has no karma field). Costs 1 credit.

Parametersusernamerequiredcache_max_age

reddit_userPosts

reddit: User posts

User posts. Posts submitted by a Reddit account, newest first by default. Falls back to the account's Atom feed when the JSON surface is blocked. Costs 1 credit.

Parameterssortlimitcursorusernamerequiredtimeframecache_max_age

redfin_agent

redfin: Real estate agent profile

Real estate agent profile. Public profile for a Redfin agent or partner agent: name, brokerage, contact and bio. Costs 1 credit.

Parameterstldurlrequiredcountry_codecache_max_age

redfin_forRent

redfin: For-rent property details

For-rent property details. Public details for one Redfin rental: price (or starting price for a multi-unit building), specs, availability and amenities. Costs 1 credit.

Parameterstldurlrequiredcountry_codecache_max_age

redfin_forSale

redfin: For-sale property details

For-sale property details. Public details for one Redfin for-sale listing: price, specs, agent, price history and nearby schools. Costs 1 credit.

Parameterstldurlrequiredcountry_codecache_max_age

rumble_channelVideos

rumble: Channel videos

Channel videos. A Rumble channel's public uploads, newest first, 25 per page. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

rumble_video

rumble: Video details

Video details. Public metadata for a Rumble video: exact view count, likes and dislikes, comment count, duration, upload date, channel and follower count. Costs 1 credit.

Parametersurlrequiredcache_max_age

rumble_comments

rumble: Video comments

Video comments. Public comments on a Rumble video, including replies. Rumble hides comments behind a login on some videos; when it does, this returns an unbilled empty result rather than logging in. Costs 1 credit.

Parametersurlrequiredcache_max_age

rumble_transcript

rumble: Video transcript

Video transcript. A Rumble video's captions as one text block plus timed cues. Returns the requested language when the video has it, otherwise the default track. Costs 1 credit.

Parametersurlrequiredlanguagecache_max_age

snapchat_profile

snapchat: User profile

User profile. Public Snapchat profile. Creator and business accounts return subscriber count, bio, website and avatar; personal accounts return the handle, display name and Bitmoji avatar, which is all Snapchat publishes for them. Costs 1 credit.

Parametershandlerequiredcache_max_age

snapchat_spotlight

snapchat: Spotlight by link

Spotlight by link. A public Snapchat Spotlight video: view, like, comment and share counts, caption and hashtags, duration, creator, thumbnail, media URL, and the auto-generated transcript when Snapchat has one. Costs 1 credit.

Parametersurlrequiredcache_max_age

snapchat_spotlightComments

snapchat: Spotlight comments by link

Spotlight comments by link. Public comments on a Snapchat Spotlight, ranked the way Snapchat ranks them, with reaction and threaded-reply counts. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parametersurlrequiredcursorcache_max_age

solo_page

solo: Solo page

Solo page. Public Solo page as a creator profile: display name, bio, avatar, and every outbound link in order. Costs 1 credit.

Parametersurlrequiredcache_max_age

soundcloud_artist

soundcloud: Artist profile

Artist profile. Public SoundCloud profile: followers, following, track count, bio, avatar and header image. Costs 1 credit.

Parametershandlerequiredcache_max_age

soundcloud_artistTracks

soundcloud: Artist tracks

Artist tracks. An artist's public uploads, newest first. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterslimitcursorhandlerequiredcache_max_age

soundcloud_track

soundcloud: Track details

Track details. Public metadata for a SoundCloud track: plays, likes, reposts, comments, duration, genre and publisher metadata (ISRC, label, writers). Costs 1 credit.

Parametersurlrequiredcache_max_age

spotify_album

spotify: Album details

Album details. Public Spotify album: title, artist, release date, artwork and total runtime. The track listing, release type (album or single) and track count are in `raw`. Add `include_raw=true`. Costs 1 credit.

Parametersidrequiredcache_max_age

spotify_artist

spotify: Artist details

Artist details. Public Spotify artist: name, exact follower count, biography, artwork and external links. Monthly listeners and current top tracks with play counts are in `raw`. Costs 1 credit.

Parametersidrequiredcache_max_age

spotify_playlist

spotify: Playlist contents

Playlist contents. Public Spotify playlist: name, owner, description, cover art, total track count and its tracks, 50 per `cursor` page, up to the first 100. On a longer playlist the last page reports `hasMore` true with a null `cursor`: the remaining tracks exist but are not served. Costs 1 credit. Pass exactly one of `id` or `url`.

Parametersidurlcursorcache_max_age

spotify_podcast

spotify: Podcast details

Podcast details. A Spotify podcast: title, publisher, description, artwork and episode count, with its rating and topics in `raw`. Two fields carry something different here than they do elsewhere: `category` holds the show's publisher, and `postCount` is its episode count. The unified schema has no publisher field, and naming it here is better than leaving you to infer it. Costs 1 credit.

Parametersidrequiredmarketcache_max_age

spotify_podcastEpisodes

spotify: Podcast episodes

Podcast episodes. Episodes for a Spotify podcast, newest first. Pass the `cursor` from the previous response to page. `hasMore` true with a null `cursor` means the show has more episodes than this response can page to. Costs 1 credit.

Parametersidrequiredlimitcursormarketcache_max_age

spotify_track

spotify: Track details

Track details. Public Spotify track: title, artists, artwork, duration, release date and the preview clip URL. `viewCount` is the play count when the track is among its artist's top tracks, and null otherwise. The explicit-content label is in `raw`. Costs 1 credit.

Parametersidrequiredcache_max_age

streamable_video

streamable: Video details and file links

Video details and file links. Public details of a Streamable video: title, duration, play count, upload date, thumbnail and its MP4 file links, tallest first. The links are signed and stop working after a few days. Password-protected videos return 404. Costs 1 credit.

Parametersurlrequiredcache_max_age

substack_comments

substack: Post comments

Post comments. Every public comment on a Substack post, replies included, newest first; `parentId` links a reply to its comment. Comments a publication shows only to paid subscribers are not available. Costs 1 credit.

Parametersidrequiredcache_max_age

substack_post

substack: Post

Post. One Substack post with its text, reactions, comments, restacks and word count. For a subscriber-only post, `text` is the public preview and `truncated` is true. Costs 1 credit.

Parametersidrequiredcache_max_age

substack_posts

substack: Publication posts

Publication posts. A publication's posts, newest first, with reactions, comments, restacks and word count. Substack shows no view counts. Pass the `cursor` from the previous response to page. Costs 1 credit.

Parameterslimitcursorpublicationrequiredcache_max_age

substack_profile

substack: Profile

Profile. A Substack writer's public profile: followers, bio, links, and their main publication. Subscribers appear only as Substack's rounded badge. Costs 1 credit.

Parametershandlerequiredcache_max_age

substack_publication

substack: Publication

Publication. A Substack publication: name, description, author, custom domain, whether it sells paid plans, and its rounded subscriber badge. Custom domains are accepted. Costs 1 credit.

Parameterspublicationrequiredcache_max_age

telegram_channel

telegram: Channel

Channel. Public Telegram channel or group metadata including its name, description, avatar, verification status, subscriber or member count, and public media counters. The subscriber or member count is exact, read from the channel's t.me page, and falls back to the rounded preview value ("9.66M") when that page cannot be read. The media counters in `raw.counters` are Telegram's rounded display text. Uses Telegram's public web preview and does not use a logged-in Telegram account, so private channels, invite-only groups and user accounts are not covered. An old username still resolves to the channel that took it over, so `handle` here is the header username and may differ from the one inside a post id, so join on a post `id`, never on the handle. Costs 1 credit.

Parametershandlerequiredcache_max_age

telegram_channelPosts

telegram: Channel posts

Channel posts. One public web-preview page of Telegram posts with text, publish date, views, reactions when exposed, forwards, media (photos and the playable video file), and link previews. Twenty posts per page, newest first. Pass the returned cursor to fetch the previous page. Empty and terminal pages are not charged. `viewCount` is Telegram's own rounded display value ("1.37M" → 1370000), not an exact count; the original text is in `raw.messages[].viewsText`. `likeCount` totals every public reaction, paid stars included, from Telegram's rounded display values, and is null when a post shows no reactions. Each reaction, the forward source and the link preview are under `raw`. A post `id` carries the CANONICAL username of the channel, which differs from the one you asked for when an old username still resolves to it. Join on `id`, not on the handle you passed. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

telegram_post

telegram: Post

Post. A single public Telegram post with its text, publish date, views, reactions when exposed, forward source, media (photos and the playable video file), and link preview. `viewCount` is Telegram's own rounded display value ("1.37M" → 1370000), not an exact count; the original text is in `raw.viewsText`. `likeCount` totals every public reaction, paid stars included, from Telegram's rounded display values, and is null when the post shows no reactions. Each reaction, the forward source and the link preview are under `raw`. Reads the public post embed and does not use a logged-in Telegram account. Costs 1 credit.

Parametersurlrequiredcache_max_age

threads_post

threads: Post

Post. A single public Threads post with like count, reply count, and any attached media. Costs 1 credit.

Parametersurlrequiredcache_max_age

threads_profile

threads: Profile

Profile. Public Threads profile: follower count, bio, bio links, avatar, and verification status. Costs 1 credit.

Parametershandlerequiredcache_max_age

threads_searchUsers

threads: Search users

Search users. Public Threads accounts matching a keyword. Costs 1 credit.

Parametersqueryrequiredcache_max_age

threads_userPosts

threads: User posts

User posts. Public posts from a Threads profile in the order the profile shows them, with like, reply and repost counts. Pass `pagination.cursor` back as `cursor` for the next page. Costs 1 credit.

Parameterscursorhandlerequiredcache_max_age

tiktok_adLibraryAd

tiktok: One TikTok ad

One TikTok ad. One TikTok ad by id or URL. Two public surfaces carry ads and an id alone does not say which: Creative Center Top Ads (ads.tiktok.com) is checked first, then the Commercial Content Library (library.tiktok.com). Pass a URL from either and only that source is queried. Both return the same `Ad` shape; fields a source does not publish are null rather than inferred - Top Ads carries no flight dates or advertiser entity, and the library carries no performance metrics. `countries` here is the ad's own targeting, unlike a search result's, where it is the market that was searched. An id neither source knows is a 404; an id that only one source could be asked about is not, because a source that did not answer has not said no. Reach bands stay in `raw`, not in the impressions fields, because reach is not impressions. Costs 1 credit.

Parametersad_idrequiredcache_max_age

tiktok_adLibrarySearch

tiktok: Search the TikTok Ads Library

Search the TikTok Ads Library. Ads in TikTok's public Commercial Content Library, by keyword (`query`) or by advertiser (`advertiser_name`). An advertiser name is resolved through TikTok's own typeahead first, then searched as an entity, so it matches the registered legal name ("NIKE Retail B.V.") rather than a brand. Results are NOT global: TikTok publishes this archive per market and refuses a search without one, so `region` is required, validated against the market list the library itself publishes rather than a fixed list here, and every result ran in that market, which is what each ad's `countries` reports. TikTok returns its own relevance ranking; we ask for the most recently shown first, but that is only a tiebreak within it, so results are not ordered by date. Cursor-paginated 12 at a time, each ad carrying its public library.tiktok.com detail URL. Pages are not guaranteed disjoint: the archive re-ranks live, so an ad can repeat across pages. Political and election ads are outside the archive. Reach is published as a band and is not impressions, so it stays in `raw.estimated_audience` rather than the impressions fields. Costs 1 credit.

Parametersquerycursorregionrequiredcache_max_ageadvertiser_name

tiktok_collectionVideos

tiktok: Collection videos

Collection videos. Videos in a public TikTok collection, a creator-curated playlist of other people's posts as well as their own. Costs 1 credit. Pass either `url` or `collection_id`.

Parametersurlcountcursorcache_max_agecollection_id

tiktok_commentReplies

tiktok: Replies to a comment

Replies to a comment. The reply thread under one TikTok comment. `parentId` on each reply points back at the comment it answers, so nested threads reconstruct cleanly. Costs 1 credit.

Parametersurlrequiredcountcursorcomment_idrequiredcache_max_age

tiktok_comments

tiktok: Comments on a video

Comments on a video. Top-level comments on a TikTok, with like counts, reply counts, pinned status and a flag for the creator's own replies. Use `tiktok.commentReplies` to expand a thread. Costs 1 credit.

Parametersurlrequiredcountcursorcache_max_age

tiktok_popularCreators

tiktok: Popular creators

Popular creators. Creators trending in a market, from TikTok's own Creative Center leaderboard. Filter by country, follower band and category. Costs 1 credit.

Parameterscountcursorperiodregioncache_max_agefollower_band

tiktok_followers

tiktok: Accounts following a creator

Accounts following a creator. The public follower list for a TikTok account, newest first. TikTok caps how deep this list can be walked regardless of paging. Requires a configured TikTok signer. Costs 1 credit.

Parameterscountcursorhandlerequiredcache_max_age

Version history

4
  1. v0.8.0LatestNov 4, 2026
  2. v0.7.1Nov 3, 2026
  3. v0.6.0Oct 31, 2026
  4. v0.5.1Oct 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Scrape integrations