{"openapi":"3.1.0","info":{"title":"Hirescrape Scrapers","version":"1.0.0","description":"Pay-per-call web scrapers for AI agents. 29 tools covering social media, job boards, ad libraries, Google Maps, and multi-platform trend research. MPP on Tempo (USDC) and x402 v2 on Base (USDC, EIP-3009 via Coinbase CDP facilitator) are both live with real on-chain settlement per request. Solana support is wired and coming soon.","x-guidance":"Discover tools at GET /openapi.json. Every POST /api/tools/{tool} returns HTTP 402 with BOTH a v2 PAYMENT-REQUIRED header (x402) and a WWW-Authenticate: Payment MPP challenge — clients pick whichever their wallet supports. For x402: sign the challenge, resend with PAYMENT-SIGNATURE header, receive data + PAYMENT-RESPONSE receipt header. For MPP: resubmit with Authorization: Payment <credential>, receive data + Payment-Receipt header. Pricing is dynamic (min–max in the manifest) and a concrete quote is returned in each 402 body. Retries are safe: send Idempotency-Key and the same body on a retry to get a free cached replay (10 min TTL). No accounts, no API keys. Both protocols settle on-chain; failed scrapes do not settle (pay-on-success)."},"servers":[{"url":"https://hirescrape.com"}],"x-service-info":{"categories":["data","social","search","developer-tools"],"docs":{"homepage":"https://hirescrape.com","apiReference":"https://hirescrape.com/docs","llms":"https://hirescrape.com/llms.txt"}},"x-discovery":{"ownershipProofs":[]},"paths":{"/api/tools/reddit":{"post":{"operationId":"scrape_reddit","summary":"Reddit Deep Scraper","description":"Scrape Reddit posts, comments, AI Answers, subreddits, and search. TLS fingerprinting, no API key.","tags":["Social"],"x-guidance":"Use action=scrape_subreddit when the user names a subreddit. Use action=search_posts when they have a keyword. Use action=reddit_answers when they ask a question. Optional: includeComments=true (3x cost). limit defaults to 50; raise for breadth.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.020000","max":"0.520000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","description":"Choose your action — then scroll down and fill only the fields marked for that action:\n\n• **Scrape Subreddit** → ✅ Subreddit\n• **Search Posts** → ✅ Query + ⚠️ Subreddit (optional)\n• **Search Comments** → ✅ Query + ⚠️ Subreddit (optional)\n• **Find Subreddits** → ✅ Query\n• **Fetch Post** → ✅ Post URL\n• **Reddit AI Answers** → ✅ Query","enum":["scrape_subreddit","search_posts","search_comments","search_subreddits","fetch_post","reddit_answers","ads_search","ad"],"default":"scrape_subreddit","title":"What do you want to scrape?"},"subreddit":{"type":"string","description":"**Subreddit name without the r/ prefix**\n\n✅ Required for: Scrape Subreddit\n⚠️ Optional for: Search Posts, Search Comments\n❌ Ignore for: Find Subreddits, Fetch Post, Reddit AI Answers\n\nExample: `technology` (not `r/technology`)","title":"Subreddit Name"},"query":{"type":"string","description":"**Keyword to search or question to ask**\n\n✅ Required for: Search Posts, Search Comments, Find Subreddits, Reddit AI Answers\n❌ Ignore for: Scrape Subreddit, Fetch Post\n\nExamples:\n• `best web scraping tools 2026`\n• `how to learn Python`\n• `AI automation`","title":"Search Query / Question"},"postUrl":{"type":"string","description":"**Full Reddit post URL**\n\n✅ Required for: Fetch Single Post\n❌ Ignore for: All other actions\n\nExample: `https://www.reddit.com/r/technology/comments/abc123/my_post/`","title":"Post URL"},"sort":{"type":"string","description":"**How to sort results**\n\nFor Scrape Subreddit:\n• 🔥 **hot** (trending now)\n• ✨ **new** (newest first)\n• 🏆 **top** (highest rated)\n• 📈 **rising** (gaining traction)\n• ⚡ **controversial** (most debated)\n\nFor Search:\n• 🎯 **relevance** (best match)\n• ✨ **new** (newest first)\n• 🏆 **top** (highest rated)\n• 💬 **comments** (most discussed)","enum":["hot","new","top","rising","controversial","relevance","comments"],"default":"hot","title":"Sort Order"},"timeFilter":{"type":"string","description":"**Time range for results**\n\n⚠️ Only applies when Sort = **top** or **controversial**\n\nOptions: past hour, day, week, month, year, or all time","enum":["hour","day","week","month","year","all"],"default":"week","title":"Time Filter"},"limit":{"type":"integer","description":"**Maximum number of posts/results to return**\n\n⚠️ Higher = more data but slower and costs more\n💰 Each post with comments costs more than posts only\n\nRecommended:\n• 🟢 Quick test: 10-25\n• 🟡 Normal: 50-100\n• 🔴 Large: 200-500","default":50,"minimum":1,"maximum":500,"title":"Max Results"},"includeComments":{"type":"boolean","description":"**Fetch full comment trees for each post**\n\n✅ Enabled: Get complete discussions with nested replies\n❌ Disabled: Posts only (faster, cheaper)\n\n⚠️ Only applies to: **Scrape Subreddit**\n💰 Comments significantly increase cost and time\n📊 A post with 500 comments = 500 API calls","default":false,"title":"Include Comments"},"threads":{"type":"integer","description":"**Number of parallel workers**\n\n🟢 Low (1-5): Slower but safer, less proxy bandwidth\n🟡 Medium (6-10): Balanced speed and reliability\n🔴 High (11-20): Fastest but uses more proxy bandwidth\n\n⚠️ Only applies to: **Scrape Subreddit**, **Find Subreddits**\n💡 Higher = faster but may trigger rate limits","default":10,"minimum":1,"maximum":20,"title":"Concurrency (Threads)"},"proxyConfiguration":{"type":"object","description":"**Reddit requires residential proxies for best results**\n\n📌 **Default Setup (Recommended):**\n• ✅ Use Residential Proxy\n• 🏠 Residential proxies (best success rate)\n• 💰 Costs: $8/GB\n\n💡 **Alternative:**\n• 🏢 BUYPROXIES94952 (free datacenter, 5 IPs)\n• ⚠️ Higher chance of Reddit blocks\n• 💵 Free but less reliable","default":{"useProxy":true,"proxyGroups":["RESIDENTIAL"]},"title":"Proxy Configuration"}},"required":["action"]},"example":{"action":"search_posts","query":"AI agent payments","limit":20}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]},"example":{"items":[{"title":"Building AI agents that pay per call","author":"ai_dev","subreddit":"MachineLearning","score":124,"num_comments":37,"permalink":"/r/MachineLearning/comments/abc123/building_ai_agents/","created_utc":1776480000}],"runId":"sc_mo4example","duration":4,"payment":{"protocol":"x402","amount":"0.040000","currency":"USD"}}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/jobs":{"post":{"operationId":"scrape_jobs","summary":"Multi Job Board Scraper","description":"Scrape jobs from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and Naukri in one call.","tags":["Jobs"],"x-guidance":"searchTerm is required. location and sites default sensibly. Use isRemote=true for remote-only. Use hoursOld for 'posted this week'. countryIndeed controls the Indeed/Glassdoor region.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"1.650000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"searchTerm":{"type":"string","description":"Job title, keyword, or skill."},"location":{"type":"string","description":"City, state, country, or 'Remote'. Empty = global."},"sites":{"type":"array","description":"Boards: linkedin, indeed, glassdoor, google, zip_recruiter, bayt, bdjobs, naukri.","default":["linkedin","indeed","glassdoor","google","zip_recruiter","bayt","bdjobs","naukri"],"items":{"type":"string"}},"maxResults":{"type":"integer","description":"Max jobs per board (1-100).","default":20,"minimum":1,"maximum":100},"isRemote":{"type":"boolean","description":"Remote-only.","default":false},"jobType":{"type":"string","description":"Filter by employment type.","enum":["","fulltime","parttime","contract","internship","temporary"],"default":""},"hoursOld":{"type":"integer","description":"Only jobs posted in last N hours.","minimum":1,"maximum":8760},"countryIndeed":{"type":"string","description":"Country code for Indeed/Glassdoor (usa, uk, canada, etc).","default":"usa"},"googleSearchTerm":{"type":"string","description":"Custom query for Google Jobs only."},"distance":{"type":"integer","description":"Radius in miles from location.","default":50,"minimum":0,"maximum":200},"offset":{"type":"integer","description":"Skip first N results (pagination).","minimum":0},"easyApply":{"type":"boolean","description":"Only easy-apply jobs.","default":false},"linkedinFetchDescription":{"type":"boolean","description":"Fetch full LinkedIn job descriptions.","default":false},"linkedinCompanyIds":{"type":"array","description":"Restrict LinkedIn to specific company IDs.","items":{"type":"string"}},"descriptionFormat":{"type":"string","description":"Output format for job descriptions.","enum":["markdown","html"],"default":"markdown"},"enforceAnnualSalary":{"type":"boolean","description":"Normalize salary to annual.","default":false}},"required":["searchTerm"]},"example":{"searchTerm":"senior backend engineer","location":"San Francisco, CA","sites":["linkedin","indeed","glassdoor"],"isRemote":true,"maxResults":20,"hoursOld":72}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]},"example":{"items":[{"title":"Senior Backend Engineer","company":"Acme AI","location":"San Francisco, CA (Remote)","site":"linkedin","salary":"$180K–$240K","jobType":"Full-time","datePosted":"2026-04-17","jobUrl":"https://www.linkedin.com/jobs/view/4100000","description":"Design and build pay-per-call APIs…"}],"runId":"sc_mo4jobsexample","duration":12,"payment":{"protocol":"x402","amount":"0.210000","currency":"USD"}}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/tiktok":{"post":{"operationId":"scrape_tiktok","summary":"TikTok · Douyin · Bilibili Scraper","description":"Videos, profiles, comments, likes, live rooms, trending across all three platforms.","tags":["Social"],"x-guidance":"mode is required — video_detail (single URL), user_posts (all videos by user), video_comments, user_profile, user_likes (TikTok/Douyin), live_info, trending (Douyin/Bilibili). Provide url OR urls[].","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.020000","max":"1.020000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"What to scrape. Each mode supports different platforms — see the table in the README.","enum":["video_detail","user_posts","user_profile","video_comments","user_likes","live_info","trending"],"default":"video_detail","title":"Mode"},"platform":{"type":"string","description":"Target platform. Use 'auto' to detect from the URL automatically.","enum":["auto","tiktok","douyin","bilibili"],"default":"auto","title":"Platform"},"url":{"type":"string","description":"A single URL — video, user profile, live room, or hot feed page. Use this OR 'urls' below for bulk mode.","title":"URL"},"urls":{"type":"array","description":"List of URLs for bulk scraping. One URL per line. Leave empty if using 'url' above.","items":{"type":"string"},"title":"URLs (bulk)"},"maxItems":{"type":"integer","description":"Maximum items to return per input URL (for paginated modes: user_posts, video_comments, user_likes, trending). Ignored for single-item modes.","default":100,"minimum":1,"maximum":5000,"title":"Max Items"},"includeComments":{"type":"boolean","description":"When mode=video_detail, also fetch the first page of comments. Adds one extra API call per video.","default":false,"title":"Include Comments (video_detail mode)"},"downloadVideos":{"type":"boolean","description":"Include direct MP4 URLs without watermark in the output (available for TikTok/Douyin).","default":true,"title":"Include No-Watermark Video URLs"},"cookie":{"type":"string","description":"Optional browser cookie string for gated content (private user collections, some Douyin feeds). Paste the full Cookie header. Leave empty to run without login.","title":"Cookie (optional)"},"proxyConfiguration":{"type":"object","description":"Proxy settings. Residential proxies are strongly recommended for high-volume scraping and to bypass regional restrictions.","default":{"useProxy":true,"proxyGroups":["RESIDENTIAL"]},"title":"Proxy Configuration"}},"required":["mode"]},"example":{"mode":"user_posts","handle":"mrbeast","maxItems":20}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]},"example":{"items":[{"id":"7234567890123456789","desc":"Day 30 of giving away money","author":{"uniqueId":"mrbeast","nickname":"MrBeast"},"stats":{"playCount":48000000,"diggCount":3200000,"shareCount":180000,"commentCount":42000},"createTime":1776300000}],"runId":"sc_mo4tiktokexample","duration":5,"payment":{"protocol":"x402","amount":"0.220000","currency":"USD"}}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/trend-intel":{"post":{"operationId":"research_topic","summary":"30Days Trend Intel","description":"Research a topic across Reddit, TikTok, YouTube, Instagram, HN, Polymarket. Ranked + clustered.","tags":["Research"],"x-guidance":"topic is required (free text). depth tiers (quick and standard only — deep/full AI tiers are disabled): quick ($0.15, fast), standard ($0.35, thorough). timeframe: 7d/14d/30d/90d.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.150000","max":"0.350000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","description":"Any topic, person, company, product, event, or trend. Examples: 'OpenAI vs Anthropic', 'Taylor Swift Eras Tour', 'best CRM tools 2026', 'Peter Steinberger'","title":"Research Topic"},"depth":{"type":"string","description":"Quick ($0.15) = Reddit + HN + Polymarket. Standard ($0.35) = + TikTok, Instagram, YouTube. Deeper AI-grounded tiers are temporarily disabled.","enum":["quick","standard"],"default":"standard","title":"Report Depth"},"timeframe":{"type":"string","description":"How far back to search","enum":["7d","14d","30d","90d"],"default":"30d","title":"Timeframe"},"sources":{"type":"array","description":"Select specific platforms to search, or leave empty for all available","items":{"type":"string","enum":["reddit","tiktok","instagram","youtube","hackernews","polymarket","github","threads","pinterest","bluesky"],"enumTitles":["Reddit","TikTok","Instagram","YouTube","Hacker News","Polymarket","GitHub","Threads","Pinterest","Bluesky"]},"title":"Sources (optional — leave empty for all)"},"aiSynthesis":{"type":"boolean","description":"Generate an AI-powered executive summary with key findings, sentiment, and best takes","default":true,"title":"AI Synthesis"},"outputFormat":{"type":"string","description":"JSON for programmatic use, Markdown for readable reports","enum":["json","markdown"],"default":"json","title":"Output Format"},"proxyConfiguration":{"type":"object","description":"Residential proxies prevent Reddit/platform 403 blocks.\n\n📌 Default: Residential Proxy ($8/GB)\n💡 Alternative: BUYPROXIES94952 (free datacenter, less reliable)","default":{"useProxy":true,"proxyGroups":["RESIDENTIAL"]},"title":"Proxy Configuration"}},"required":["topic"]},"example":{"topic":"AI agent payments","depth":"standard","timeframe":"30d"}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]},"example":{"items":[{"cluster":"Agent wallets + x402","rank":1,"sources":[{"platform":"reddit","url":"https://reddit.com/r/MachineLearning/comments/abc","score":820},{"platform":"hackernews","url":"https://news.ycombinator.com/item?id=42000000","score":540}],"summary":"Growing buzz around HTTP 402 and per-call agent payments."}],"runId":"sc_mo4trendexample","duration":14,"payment":{"protocol":"x402","amount":"0.350000","currency":"USD"}}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/instagram":{"post":{"operationId":"scrape_instagram","summary":"Instagram Scraper","description":"Instagram profiles, posts, reels, comments, highlights, transcripts, reel search.","tags":["Social"],"x-guidance":"mode=profile needs handle. mode=post/transcript needs url. mode=user_posts needs handle + limit. See schema for all modes and per-mode params.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, basic_profile, user_posts, post, transcript, search_reels, post_comments, user_reels, highlights, highlight_detail, song_reels, embed.","enum":["profile","basic_profile","user_posts","post","transcript","search_reels","post_comments","user_reels","highlights","highlight_detail","song_reels","embed"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"trim":{"type":"boolean","description":"Return a condensed response."},"userId":{"type":"string","description":"Instagram user ID."},"next_max_id":{"type":"string","description":"Pagination token."},"url":{"type":"string","description":"Full URL of the target object."},"region":{"type":"string","description":"Proxy / market region (e.g. US)."},"download_media":{"type":"boolean","description":"Return permanent media URLs."},"query":{"type":"string","description":"Search keyword."},"date_posted":{"type":"string","description":"Posting timeframe."},"page":{"type":"integer","description":"Page number (default 1)."},"cursor":{"type":"string","description":"Pagination cursor."},"user_id":{"type":"string","description":"Platform user ID (often faster than handle)."},"max_id":{"type":"string","description":"Pagination token."},"id":{"type":"string","description":"Object ID (ad / highlight / etc)."},"audio_id":{"type":"string","description":"Instagram audio/song ID."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/youtube":{"post":{"operationId":"scrape_youtube","summary":"YouTube Scraper","description":"YouTube channels, videos, shorts, transcripts, comments, keyword + hashtag search, playlists, community posts.","tags":["Social"],"x-guidance":"mode=channel needs channelId/handle/url. mode=video/transcript needs url. mode=search needs query (supports uploadDate, sortBy, region, continuationToken).","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: channel, channel_videos, channel_shorts, video, transcript, search, search_hashtag, video_comments, comment_replies, trending_shorts, playlist, community_post.","enum":["channel","channel_videos","channel_shorts","video","transcript","search","search_hashtag","video_comments","comment_replies","trending_shorts","playlist","community_post"],"default":"channel"},"channelId":{"type":"string","description":"YouTube channel ID."},"handle":{"type":"string","description":"Username / handle (without @)."},"url":{"type":"string","description":"Full URL of the target object."},"sort":{"type":"string","description":"Sort order (depends on endpoint)."},"continuationToken":{"type":"string","description":"Pagination token."},"includeExtras":{"type":"boolean","description":"Include engagement + full descriptions."},"language":{"type":"string","description":"2-letter language code."},"query":{"type":"string","description":"Search keyword."},"uploadDate":{"type":"string","description":"Upload time filter."},"sortBy":{"type":"string","description":"Sort key (depends on endpoint)."},"filter":{"type":"string","description":"Content filter (e.g. shorts)."},"region":{"type":"string","description":"Proxy / market region (e.g. US)."},"hashtag":{"type":"string","description":"Hashtag (without #)."},"type":{"type":"string","description":"Content type (all or shorts)."},"order":{"type":"string","description":"Comment order: top or newest."},"playlist_id":{"type":"string","description":"YouTube playlist ID."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/linkedin":{"post":{"operationId":"scrape_linkedin","summary":"LinkedIn Scraper","description":"LinkedIn person profiles, company pages, paginated company posts, individual post details.","tags":["Social"],"x-guidance":"All modes take url. mode=company_posts adds page for pagination.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, company, company_posts, post.","enum":["profile","company","company_posts","post"],"default":"profile"},"url":{"type":"string","description":"Full URL of the target object."},"page":{"type":"integer","description":"Page number (default 1)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/facebook":{"post":{"operationId":"scrape_facebook","summary":"Facebook Scraper","description":"Facebook profiles, posts, photos, reels, group posts, comments, transcripts.","tags":["Social"],"x-guidance":"mode=profile takes url (+ get_business_hours). mode=group_posts takes url or group_id. cursor/next_page_id drive pagination.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, profile_reels, profile_photos, profile_posts, group_posts, post, post_transcript, post_comments.","enum":["profile","profile_reels","profile_photos","profile_posts","group_posts","post","post_transcript","post_comments"],"default":"profile"},"url":{"type":"string","description":"Full URL of the target object."},"get_business_hours":{"type":"boolean","description":"Include business hours."},"next_page_id":{"type":"string","description":"Pagination token."},"cursor":{"type":"string","description":"Pagination cursor."},"pageId":{"type":"string","description":"Page or ad-library page ID."},"group_id":{"type":"string","description":"Facebook group ID."},"sort_by":{"type":"string","description":"Sort key (depends on endpoint)."},"get_comments":{"type":"boolean","description":"Include comments in the response."},"get_transcript":{"type":"boolean","description":"Include transcript in the response."},"feedback_id":{"type":"string","description":"Facebook feedback identifier."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/twitter":{"post":{"operationId":"scrape_twitter","summary":"X / Twitter Scraper","description":"X (Twitter) profiles, user tweets, tweet details + transcripts, community metadata and tweets.","tags":["Social"],"x-guidance":"mode=profile/user_tweets need handle. mode=tweet / tweet_transcript / community / community_tweets need url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, user_tweets, tweet, tweet_transcript, community, community_tweets.","enum":["profile","user_tweets","tweet","tweet_transcript","community","community_tweets"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"trim":{"type":"boolean","description":"Return a condensed response."},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/threads":{"post":{"operationId":"scrape_threads","summary":"Threads Scraper","description":"Meta Threads profiles, user posts, post details, keyword + user search (with date filters).","tags":["Social"],"x-guidance":"mode=profile/user_posts need handle. mode=search accepts start_date / end_date. mode=post needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, user_posts, post, search, search_users.","enum":["profile","user_posts","post","search","search_users"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"trim":{"type":"boolean","description":"Return a condensed response."},"url":{"type":"string","description":"Full URL of the target object."},"query":{"type":"string","description":"Search keyword."},"start_date":{"type":"string","description":"Start date (YYYY-MM-DD)."},"end_date":{"type":"string","description":"End date (YYYY-MM-DD)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/bluesky":{"post":{"operationId":"scrape_bluesky","summary":"Bluesky Scraper","description":"Bluesky profiles, user posts, individual post details.","tags":["Social"],"x-guidance":"mode=profile/user_posts need handle (e.g. name.bsky.social) or user_id (DID). mode=post needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, user_posts, post.","enum":["profile","user_posts","post"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"user_id":{"type":"string","description":"Platform user ID (often faster than handle)."},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/pinterest":{"post":{"operationId":"scrape_pinterest","summary":"Pinterest Scraper","description":"Pinterest keyword search, pin details, user boards, full board contents.","tags":["Social"],"x-guidance":"mode=search needs query. mode=pin/board need url. mode=user_boards needs handle.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: search, pin, user_boards, board.","enum":["search","pin","user_boards","board"],"default":"search"},"query":{"type":"string","description":"Search keyword."},"cursor":{"type":"string","description":"Pagination cursor."},"trim":{"type":"boolean","description":"Return a condensed response."},"url":{"type":"string","description":"Full URL of the target object."},"handle":{"type":"string","description":"Username / handle (without @)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/truth-social":{"post":{"operationId":"scrape_truth_social","summary":"Truth Social Scraper","description":"Truth Social profiles, user posts, individual post details.","tags":["Social"],"x-guidance":"mode=profile needs handle. mode=user_posts accepts handle or user_id + next_max_id. mode=post needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, user_posts, post.","enum":["profile","user_posts","post"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"user_id":{"type":"string","description":"Platform user ID (often faster than handle)."},"next_max_id":{"type":"string","description":"Pagination token."},"trim":{"type":"boolean","description":"Return a condensed response."},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/twitch":{"post":{"operationId":"scrape_twitch","summary":"Twitch Scraper","description":"Twitch streamer profiles and clip details.","tags":["Social"],"x-guidance":"mode=profile needs handle. mode=clip needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile, clip.","enum":["profile","clip"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/kick":{"post":{"operationId":"scrape_kick","summary":"Kick Scraper","description":"Kick.com clip details.","tags":["Social"],"x-guidance":"mode=clip needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: clip.","enum":["clip"],"default":"clip"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/snapchat":{"post":{"operationId":"scrape_snapchat","summary":"Snapchat Scraper","description":"Snapchat public user profiles.","tags":["Social"],"x-guidance":"mode=profile needs handle.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: profile.","enum":["profile"],"default":"profile"},"handle":{"type":"string","description":"Username / handle (without @)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/tiktok-shop":{"post":{"operationId":"scrape_tiktok_shop","summary":"TikTok Shop Scraper","description":"TikTok Shop keyword search, shop product lists, product details + reviews, creator showcases.","tags":["Commerce"],"x-guidance":"mode=search needs query (+ optional page, region). mode=products/product need url. mode=reviews needs url or product_id. mode=showcase needs handle.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: search, products, product, reviews, showcase.","enum":["search","products","product","reviews","showcase"],"default":"search"},"query":{"type":"string","description":"Search keyword."},"page":{"type":"integer","description":"Page number (default 1)."},"region":{"type":"string","description":"Proxy / market region (e.g. US)."},"url":{"type":"string","description":"Full URL of the target object."},"cursor":{"type":"string","description":"Pagination cursor."},"product_id":{"type":"string","description":"Product ID."},"handle":{"type":"string","description":"Username / handle (without @)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/fb-ad-library":{"post":{"operationId":"scrape_fb_ad_library","summary":"Facebook Ad Library Scraper","description":"Meta Ad Library: search ads by keyword or company, get single-ad details, filter by country, status, media type, date range.","tags":["Ads"],"x-guidance":"mode=search_ads needs query (supports sort_by, search_type, ad_type, country, status, media_type, start_date, end_date). mode=company_ads accepts pageId or companyName. mode=ad needs id or url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: ad, search_ads, company_ads, search_companies.","enum":["ad","search_ads","company_ads","search_companies"],"default":"ad"},"id":{"type":"string","description":"Object ID (ad / highlight / etc)."},"url":{"type":"string","description":"Full URL of the target object."},"get_transcript":{"type":"boolean","description":"Include transcript in the response."},"trim":{"type":"boolean","description":"Return a condensed response."},"query":{"type":"string","description":"Search keyword."},"sort_by":{"type":"string","description":"Sort key (depends on endpoint)."},"search_type":{"type":"string","description":"Keyword or exact phrase search."},"ad_type":{"type":"string","description":"All or political/issue ads."},"country":{"type":"string","description":"Country code (e.g. US, GB)."},"status":{"type":"string","description":"ACTIVE / INACTIVE / ALL."},"media_type":{"type":"string","description":"IMAGE / VIDEO / MEME."},"start_date":{"type":"string","description":"Start date (YYYY-MM-DD)."},"end_date":{"type":"string","description":"End date (YYYY-MM-DD)."},"cursor":{"type":"string","description":"Pagination cursor."},"pageId":{"type":"string","description":"Page or ad-library page ID."},"companyName":{"type":"string","description":"Company name."},"language":{"type":"string","description":"2-letter language code."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/google-ad-library":{"post":{"operationId":"scrape_google_ad_library","summary":"Google Ad Library Scraper","description":"Google's Ads Transparency Center: advertiser search, full company ad history (with topic/region/date filters), single-ad details.","tags":["Ads"],"x-guidance":"mode=company_ads accepts domain OR advertiser_id (+ topic, region, start_date, end_date, get_ad_details). mode=search_advertisers needs query. mode=ad needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: company_ads, ad, search_advertisers.","enum":["company_ads","ad","search_advertisers"],"default":"company_ads"},"domain":{"type":"string","description":"Company domain."},"advertiser_id":{"type":"string","description":"Advertiser ID."},"topic":{"type":"string","description":"all or political."},"region":{"type":"string","description":"Proxy / market region (e.g. US)."},"start_date":{"type":"string","description":"Start date (YYYY-MM-DD)."},"end_date":{"type":"string","description":"End date (YYYY-MM-DD)."},"get_ad_details":{"type":"boolean","description":"Include full ad details (higher cost)."},"cursor":{"type":"string","description":"Pagination cursor."},"url":{"type":"string","description":"Full URL of the target object."},"query":{"type":"string","description":"Search keyword."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/linkedin-ad-library":{"post":{"operationId":"scrape_linkedin_ad_library","summary":"LinkedIn Ad Library Scraper","description":"LinkedIn ads search by company name / ID / keyword with country + date filters, plus single-ad details.","tags":["Ads"],"x-guidance":"mode=search_ads accepts company, companyId, keyword, countries (comma-separated), startDate/endDate. mode=ad needs url.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: search_ads, ad.","enum":["search_ads","ad"],"default":"search_ads"},"company":{"type":"string","description":"Company name."},"keyword":{"type":"string","description":"Search keyword."},"companyId":{"type":"string","description":"Numeric company ID."},"countries":{"type":"string","description":"Comma-separated country codes."},"startDate":{"type":"string","description":"Start date (YYYY-MM-DD)."},"endDate":{"type":"string","description":"End date (YYYY-MM-DD)."},"paginationToken":{"type":"string","description":"Pagination token."},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/google-search":{"post":{"operationId":"scrape_google_search","summary":"Google Search Scraper","description":"Plain Google search: organic results for a keyword with region, freshness, and pagination.","tags":["Search"],"x-guidance":"query is required. Optional: region (country code), date_posted (freshness), page.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: search.","enum":["search"],"default":"search"},"query":{"type":"string","description":"Search keyword."},"region":{"type":"string","description":"Proxy / market region (e.g. US)."},"date_posted":{"type":"string","description":"Posting timeframe."},"page":{"type":"integer","description":"Page number (default 1)."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/amazon-shop":{"post":{"operationId":"scrape_amazon_shop","summary":"Amazon Shop Scraper","description":"Amazon storefront / shop page extraction: products, prices, metadata.","tags":["Commerce"],"x-guidance":"mode=shop needs a full Amazon shop URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: shop.","enum":["shop"],"default":"shop"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/age-gender":{"post":{"operationId":"detect_age_gender","summary":"Age & Gender Detection","description":"Estimate age bucket + gender from a social profile's avatar.","tags":["Intelligence"],"x-guidance":"url must be a public social profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: detect.","enum":["detect"],"default":"detect"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/linktree":{"post":{"operationId":"scrape_linktree","summary":"Linktree Scraper","description":"Extract all links + metadata from a Linktree profile.","tags":["Creator"],"x-guidance":"url must be a full Linktree profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: default.","enum":["default"],"default":"default"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/komi":{"post":{"operationId":"scrape_komi","summary":"Komi Scraper","description":"Extract creator link-in-bio data from Komi pages.","tags":["Creator"],"x-guidance":"url must be a full Komi profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: default.","enum":["default"],"default":"default"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/pillar":{"post":{"operationId":"scrape_pillar","summary":"Pillar Scraper","description":"Extract creator link-in-bio data from Pillar pages.","tags":["Creator"],"x-guidance":"url must be a full Pillar profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: default.","enum":["default"],"default":"default"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/linkbio":{"post":{"operationId":"scrape_linkbio","summary":"lnk.bio Scraper","description":"Extract creator link-in-bio data from lnk.bio pages.","tags":["Creator"],"x-guidance":"url must be a full lnk.bio profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: default.","enum":["default"],"default":"default"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}},"/api/tools/linkme":{"post":{"operationId":"scrape_linkme","summary":"link.me Scraper","description":"Extract creator link-in-bio data from link.me pages.","tags":["Creator"],"x-guidance":"url must be a full link.me profile URL.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.050000","max":"2.000000"},"protocols":[{"x402":{"network":"base","asset":"USDC"}},{"mpp":{"method":"usdc","intent":"charge","currency":"USD"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Which endpoint to call. Options: default.","enum":["default"],"default":"default"},"url":{"type":"string","description":"Full URL of the target object."},"limit":{"type":"integer","description":"Max items to collect (applies to paginated modes).","default":20,"minimum":1,"maximum":500}},"required":["mode"]}}}},"responses":{"200":{"description":"Scraped dataset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of scraped items. Shape varies per tool — see each tool's documentation.","items":{"type":"object"}},"runId":{"type":"string","description":"Run ID for debugging/audit."},"duration":{"type":"integer","description":"Run duration in seconds."}},"required":["items"]}}}},"402":{"description":"Payment Required. The response includes an x402 `PAYMENT-REQUIRED` header and an MPP `WWW-Authenticate: Payment` header; pick whichever protocol your wallet supports."}}}}}}