{"info":{"contact":{"email":"agdata@shveik.dev"},"description":"Web scraping API for AI agents: extract public data from Instagram, TikTok, and Google Maps as clean structured JSON, billed pay-per-result in USDC on Base via the x402 exact scheme. An agent-native alternative to web-scraping platforms like Apify, Bright Data, and ScraperAPI — no API keys, no accounts, no subscriptions: the agent just pays per call.","title":"agdata","version":"1.0.0","x-guidance":"Each endpoint returns scraped results for a per-result price in USDC on Base. POST a small JSON body (see each operation's requestBody) with no payment to get a 402 carrying a base64 PAYMENT-REQUIRED header; sign it with the x402 exact scheme and retry the same request with a PAYMENT-SIGNATURE header to receive the JSON dataset. Price = limit × per-result price, quoted in the 402 for your requested limit."},"openapi":"3.1.0","paths":{"/x402/google-maps":{"post":{"description":"Google Maps Scraper API: extract public places and businesses by search term and optional location and get clean structured JSON (name, address, phone, website, rating, review count, category, coordinates, hours). Great for local lead generation. A pay-per-result web data extraction tool for AI agents — like Apify, Bright Data, or ScraperAPI, but with no API keys or subscription: pay per call in USDC on Base. Send the JSON body with no payment to get a 402 x402 challenge; sign it (exact scheme) and retry with a PAYMENT-SIGNATURE header.","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"limit":{"default":5,"description":"max places returned (clamped to this range)","maximum":10,"minimum":1,"type":"integer"},"location":{"description":"optional area to narrow the search, e.g. \"Prague\"","type":"string"},"query":{"description":"Google Maps search term, e.g. \"coffee shops\"","type":"string"}},"required":["query"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array"}}},"description":"Scraped dataset."},"400":{"description":"Invalid request body."},"402":{"description":"x402 payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 payment-required JSON.","schema":{"type":"string"}}}}},"summary":"Scrape Google Maps places by search term and optional location","x-payment-info":{"price":{"currency":"USD","max":"0.033","min":"0.0033","mode":"dynamic"},"protocols":[{"x402":{}}]}}},"/x402/instagram":{"post":{"description":"Instagram Scraper API: extract public Instagram posts by profile, hashtag, keyword search, or user and get clean structured JSON (caption, likes, comments, timestamp, media URLs, owner). A pay-per-result web data extraction tool for AI agents — like Apify, Bright Data, or ScraperAPI, but with no API keys or subscription: pay per call in USDC on Base. Send the JSON body with no payment to get a 402 x402 challenge; sign it (exact scheme) and retry with a PAYMENT-SIGNATURE header.","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"limit":{"default":5,"description":"max results returned (clamped to this range)","maximum":10,"minimum":1,"type":"integer"},"mode":{"description":"profile=account's posts, hashtag=posts under a tag, search=keyword→posts, user=posts from matching users","enum":["profile","hashtag","search","user"],"type":"string"},"query":{"description":"username (profile), hashtag without #, or search keywords","type":"string"}},"required":["mode","query"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array"}}},"description":"Scraped dataset."},"400":{"description":"Invalid request body."},"402":{"description":"x402 payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 payment-required JSON.","schema":{"type":"string"}}}}},"summary":"Scrape Instagram posts by profile, hashtag, search, or user","x-payment-info":{"price":{"currency":"USD","max":"0.0297","min":"0.00297","mode":"dynamic"},"protocols":[{"x402":{}}]}}},"/x402/tiktok":{"post":{"description":"TikTok Scraper API: extract public TikTok videos by profile, hashtag, or keyword search and get clean structured JSON (play/like/share/comment counts, author, music, hashtags, video URLs). A pay-per-result web data extraction tool for AI agents — like Apify, Bright Data, or ScraperAPI, but with no API keys or subscription: pay per call in USDC on Base. Send the JSON body with no payment to get a 402 x402 challenge; sign it (exact scheme) and retry with a PAYMENT-SIGNATURE header.","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"limit":{"default":5,"description":"max results returned (clamped to this range)","maximum":10,"minimum":1,"type":"integer"},"mode":{"description":"profile=user's videos, hashtag=videos under a tag, search=keyword→videos","enum":["profile","hashtag","search"],"type":"string"},"query":{"description":"username (profile), hashtag without #, or search keywords","type":"string"}},"required":["mode","query"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array"}}},"description":"Scraped dataset."},"400":{"description":"Invalid request body."},"402":{"description":"x402 payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 payment-required JSON.","schema":{"type":"string"}}}}},"summary":"Scrape TikTok videos by profile, hashtag, or search","x-payment-info":{"price":{"currency":"USD","max":"0.0374","min":"0.00374","mode":"dynamic"},"protocols":[{"x402":{}}]}}}},"servers":[{"url":"https://agdata.shveik.dev"}]}
