Skip to main content
Tovuk Scrapers read public data and store the output as Results. Use Requests to start work, poll status, and fetch Records later without building your own storage layer. Scraper requests are public data only. Do not send cookies, passwords, account tokens, private session data, private account content, private repository credentials, or proxy URLs. Scraper Requests require paid billing. Catalog reads are public, but creating a Request returns payment_required until billing is active.

Pricing

Tovuk charges per successful stored Record and deducts the final cost from the account balance automatically. Monthly plans provide balance first: Plus includes $20, Pro includes $120, and Max includes $300. Use the live catalog as the source of truth:

Names

  • Scraper: a public-data source such as github, google-maps, amazon, or reddit.
  • Request: one paid scraper run.
  • Results: stored output for one Request.
  • Record: one JSON item inside Results.

CLI

Use --limit <n> on tovuk request create to add or override input.limit. Use --limit <n> and --cursor <cursor> on tovuk request list and tovuk request results to page through Requests and stored Records. Use tovuk scraper health --json before heavy scraping to inspect public data-source readiness without sending private account material.

API

Create a Request:
Create an X Request:
X also accepts a public x.com or twitter.com post/profile URL, username, userId, or tweetId. Tovuk stores canonical public input fields and manages public-data retrieval. Create a GitHub Request:
Create a GitHub Marketplace Request:
Create a broad GitHub Code Search Request:
Create a repo-scoped GitHub Code Search Request:
Create a GitHub File Request:
Create a GitHub Watchers Request:
GitHub accepts public repository search queries, public github.com repository URLs, owner/repo names, language, topic, operation: "trending", operation: "trendingDevelopers", operation: "opportunities", operation: "codeSearch" with public code queries plus optional language, repo, filename, path, or GitHub-style query qualifiers such as repo:owner/name, language:Rust, filename:Cargo.toml, or path:src. Omit repo to let Tovuk discover candidate public repositories first, and use maxRepos to cap repository archive scans. operation: "issue" for public issue detail URLs or number, and operation: "pullRequest" for public pull request detail URLs or number. It also accepts operation: "file" with public repo plus path, public github.com blob URLs, or public raw.githubusercontent.com file URLs, operation: "stargazers", operation: "watchers"/"subscribers", and operation: "forkers" for public repository audience pages. Use operation: "trendingDevelopers" for trending developer lists. Use operation: "marketplace" with query or searchQuery for Marketplace search, marketplaceUrls, and appsUrls for public Marketplace app pages. Tovuk stores canonical public input fields and returns repository-shaped, file-shaped, issue-shaped, pull-request-shaped, developer-shaped, or Marketplace app Records. Business and ecommerce scrapers use the same Request shape shown in the CLI examples above: Tovuk accepts public inputs for Google Maps, ecommerce, app-store, video, real-estate, jobs, and review reads, and stores visible public records only. Ecommerce operation inputs may use common Apify-style aliases such as best_sellers, adLibrary, Vendor, seller-intelligence, postalCode, or zipCode; saved requests return the canonical operation token shown in the table and normalize postal aliases to deliveryLocation. Use tovuk scraper show <scraper> --json to inspect exact inputSchema caps. Current ecommerce caps are 50 search terms, 200 broad URL or product URL values, 100 seller, shop, or category URL values, 200 product IDs or ASINs, 100 category IDs, 512 characters for search text, 2,048 characters for URLs, and 128 characters for generated product or category IDs. Ecommerce Records include requestedFeatures and featureCoverage. Use featureCoverage to see whether each Apify-style feature flag was extracted, not found in the fetched public HTML, partially extracted, or accepted for compatibility while a platform-specific parser is still needed. When public metadata or visible page text provides them, ecommerce Records also include fields such as tags, keywords, questionSamples, customerPhotoUrls, minimumOrderQuantity, rfqText, deliveryLocation, resultPosition, and adPosition. Create a Reddit Request:
Reddit accepts public subreddit names, public search queries, public Reddit post URLs, public subreddit URLs, postId, and public usernames. Use operation: "subreddit-profile" with community, subreddit, or a public subreddit URL when you need one community metadata Record with title, description, sidebar text, member counts when present, rules, icons, and public flags. Use contentType: "posts", contentType: "comments", or contentType: "both" to select post search, comment search, or both result types in one Request. Set autoDiscoverSubreddits: true with maxSubreddits on site-wide search to discover relevant public communities first, then search across them while keeping total Records capped by limit or maxResults. Add fields when you want compact Records with only selected top-level JSON fields. Operations include subreddit, subreddit-profile, search, search-comments, search-communities, search-users, subreddit-users, post, comments, user, user-posts, user-comments, user-overview, popular, and all. For direct post or comment requests, commentSort aliases sort and supports public Reddit comment ordering. Tovuk stores canonical public input fields and manages public-data retrieval. Create a LinkedIn Post Search Request:
Create a LinkedIn Company Employees Request:
LinkedIn accepts public job search URLs, job ids, company URLs or names, profile URLs or public identifiers, people-search filters, post URLs, post-search terms, content filters, public author/member/company/industry ids, and company employee filters. Operations include jobs, job, company, company-search, company-employees, profile, profile-search, profile-posts, profile-comments, profile-reactions, post, post-comments, post-reactions, post-reshares, post-search, and company-posts. Public input fields such as keyword, searchQuery, profileUrls, publicIdentifiers, targetUrls, sort_type, date_filter, company_urns, member_urns, author_company_urns, author_industry_urns, author_job_title, maxPosts, total_posts, identifier, job_title, and max_employees normalize onto the same public options. Create a TikTok Request:
Create a TikTok Sound Request:
TikTok accepts public video URLs, profile URLs, usernames, video ids, hashtags, music ids, place ids, Ads Library URLs, Shop URLs, public Shop ids, public product ids, public search terms, and operations such as video, profile, videos, search, hashtag, music, comments, followers, following, ads, shop, and location. Use fields, outputFields, includeFields, or fieldProjection for safe dot-path projection. Tovuk returns projected values in selectedFields, selectedItems, selectedComments, or selectedUsers without executing customer JavaScript. Public-input aliases such as profileUrls, handles, queries, userSearch, videoSearch, sound, soundUrls, musicUrls, soundIds, region, startDate, endDate, minLikes, maxLikes, downloadVideos, downloadSubtitles, and transcribeVideos normalize onto the same public options; cookies, passwords, tokens, session data, and proxy URLs are not accepted. Create an Instagram Request:
Instagram accepts public profile URLs, post URLs, reel URLs, hashtag URLs, username, shortcode, mediaId, hashtag, query, and operations profile, post, reel, comments, hashtag, and search. Tovuk stores canonical public input fields and manages public-data retrieval. Every Request stores its public input, status, estimated cost when limit is known, final cost, resultsUrl, and agentInstruction.

Public Data Only

Do not send cookies, passwords, account tokens, private session data, or private account content. Send public URLs, public search terms, public profile handles, public repository names, public place ids, and public company or domain inputs only. For X Requests, never send login cookies, account credentials, session tokens, or proxy URLs. Send only public X targets and public search filters. For GitHub Requests, never send GitHub tokens, personal access tokens, private repository URLs, git credentials, cookies, session tokens, or proxy URLs. For Google Maps Requests, never send private account data, private saved-place lists, cookies, Google account credentials, session tokens, or proxy URLs. For ecommerce Requests, never send marketplace account cookies, buyer or seller account credentials, order history, private cart data, session tokens, or proxy URLs. Send only public marketplace targets. For Reddit Requests, never send Reddit cookies, account credentials, session tokens, private community content, or proxy URLs. Send only public Reddit targets, public community profiles, and public search filters. For LinkedIn Requests, never send LinkedIn cookies, account credentials, session tokens, private profile content, mailbox credentials, OTP codes, or proxy URLs. Send only public LinkedIn targets and public search filters. For Instagram Requests, never send Instagram cookies, account credentials, session tokens, private profile content, or proxy URLs. Send only public Instagram targets.

Prices

GET /v1/data-sources returns priceEvents in USD micro-units. 1,000,000 means $1.00. Prices are per public Record unit, such as place, post, review, page, or record.
Last modified on July 11, 2026