{"sources":[{"id":"web","name":"Web","summary":"Search the web and news, find contacts on a site"},{"id":"youtube","name":"YouTube","summary":"Search videos, get transcripts, comments and channels"},{"id":"reddit","name":"Reddit","summary":"Search posts, read threads, subreddits and users"},{"id":"maps","name":"Google Maps","summary":"Search places, get details and reviews"},{"id":"instagram","name":"Instagram","summary":"Profiles, posts, reels, transcripts and comments"},{"id":"tiktok","name":"TikTok","summary":"Profiles, videos, transcripts, comments and ads"},{"id":"bluesky","name":"Bluesky","summary":"Profiles, posts, threads and followers"},{"id":"mastodon","name":"Mastodon","summary":"Profiles, posts, threads and hashtags"},{"id":"threads","name":"Threads","summary":"Search posts, read profiles and threads"},{"id":"telegram","name":"Telegram","summary":"Public channels and their posts"},{"id":"meta","name":"Meta","summary":"Search the Facebook and Instagram ad library"},{"id":"linkedin","name":"LinkedIn","summary":"Jobs, companies, profiles, posts and ads"},{"id":"zillow","name":"Zillow","summary":"Search homes and get property details"},{"id":"google","name":"Google","summary":"Search suggestions, trends and the ads library"},{"id":"upwork","name":"Upwork","summary":"Search freelance jobs and read job posts"},{"id":"amazon","name":"Amazon","summary":"Search products, best sellers and suggestions"},{"id":"site","name":"Site","summary":"Map a site's pages and check its SEO"},{"id":"domain","name":"Domain","summary":"WHOIS, DNS and the tech a site uses"},{"id":"email","name":"Email","summary":"Check if email addresses can receive mail"},{"id":"crypto","name":"Crypto","summary":"Coin prices, DEX pairs, wallets and holders"},{"id":"indeed","name":"Indeed","summary":"Search jobs and read job posts"},{"id":"tripadvisor","name":"Tripadvisor","summary":"Search places, get ratings and reviews"},{"id":"googletravel","name":"Google Travel","summary":"Search flights with prices and times"},{"id":"shopify","name":"Shopify","summary":"A store's products, collections and details"},{"id":"walmart","name":"Walmart","summary":"Search products and get prices"},{"id":"aliexpress","name":"AliExpress","summary":"Search products and get prices"},{"id":"appstore","name":"App Store","summary":"Search apps, top charts, details and reviews"},{"id":"googleplay","name":"Google Play","summary":"Search apps, details and reviews"},{"id":"airbnb","name":"Airbnb","summary":"Search stays, listings, calendars and reviews"},{"id":"redfin","name":"Redfin","summary":"Search homes and get property details"},{"id":"realtor","name":"Realtor.com","summary":"Search homes and get property details"},{"id":"rightmove","name":"Rightmove","summary":"Search UK homes and get property details"},{"id":"immoscout","name":"ImmoScout24","summary":"Search German homes and get listing details"},{"id":"pinterest","name":"Pinterest","summary":"Search pins, boards, profiles and ads"},{"id":"x","name":"X","summary":"Read a post and its stats"},{"id":"kick","name":"Kick","summary":"Channels, past streams and clips"},{"id":"finance","name":"Finance","summary":"Stock quotes, price history, profiles and news"},{"id":"microsoft","name":"Microsoft","summary":"Search the Microsoft ads library"},{"id":"snapchat","name":"Snapchat","summary":"Profiles, spotlights, stories and ads"},{"id":"tumblr","name":"Tumblr","summary":"Search posts, read blogs and posts"},{"id":"quora","name":"Quora","summary":"Read a question and its answers"}],"endpoints":[{"id":"web.search","title":"Search","summary":"Search the web and get titles, links and snippets","method":"POST","path":"/v1/web/search","credits":1,"keyless":true,"perItems":10,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":400},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"includeDomains":{"maxItems":10,"type":"array","items":{"type":"string"}},"excludeDomains":{"maxItems":10,"type":"array","items":{"type":"string"}},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":100},"within":{"default":"all","type":"string","enum":["day","week","month","year","all"]}},"required":["query"],"additionalProperties":false},"example":{"query":"best project management software","limit":10}},{"id":"web.news","title":"News","summary":"Search news articles by topic, date and country","method":"POST","path":"/v1/web/news","credits":2,"keyless":false,"perItems":10,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":400},"topic":{"type":"string","enum":["world","nation","business","technology","entertainment","sports","science","health"]},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"includeDomains":{"maxItems":10,"type":"array","items":{"type":"string"}},"excludeDomains":{"maxItems":10,"type":"array","items":{"type":"string"}},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":100},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]}},"additionalProperties":false},"example":{"query":"nvidia","limit":10}},{"id":"web.contacts","title":"Contacts","summary":"Find emails, phone numbers and social profiles on a website","method":"POST","path":"/v1/web/contacts","credits":2,"keyless":false,"perItems":5,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"url":{"type":"string"},"maxPages":{"default":5,"type":"integer","minimum":1,"maximum":10},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://www.franklinbbq.com","maxPages":3}},{"id":"youtube.search","title":"Search","summary":"Search YouTube videos, channels, playlists and shorts","method":"POST","path":"/v1/youtube/search","credits":1,"keyless":true,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":400},"type":{"default":"videos","type":"string","enum":["videos","all","channels","playlists","shorts"]},"duration":{"default":"all","type":"string","enum":["all","short","medium","long"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"sort":{"default":"relevance","type":"string","enum":["relevance","top"]},"features":{"default":[],"maxItems":9,"type":"array","items":{"type":"string","enum":["360","live","4k","hd","subtitles","creativeCommons","vr180","3d","hdr"]}},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"rust tutorial"}},{"id":"youtube.video","title":"Video","summary":"Get a video's title, channel, views, likes and description","method":"POST","path":"/v1/youtube/video","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"video":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"dQw4w9WgXcQ"}},{"id":"youtube.transcript","title":"Transcript","summary":"Get a video's transcript, with optional timestamps","method":"POST","path":"/v1/youtube/transcript","credits":3,"keyless":true,"perItems":null,"cacheTtlSeconds":604800,"input":{"type":"object","properties":{"video":{"type":"string"},"language":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"includeTimestamps":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 604800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":604800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"dQw4w9WgXcQ"}},{"id":"youtube.comments","title":"Comments","summary":"Get a video's comments","method":"POST","path":"/v1/youtube/comments","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"video":{"type":"string"},"sort":{"default":"top","type":"string","enum":["top","newest"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"dQw4w9WgXcQ"}},{"id":"youtube.comments.replies","title":"Comment replies","summary":"Get the replies to a video comment","method":"POST","path":"/v1/youtube/comments/replies","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"video":{"type":"string"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video","cursor"],"additionalProperties":false},"example":null},{"id":"youtube.channel","title":"Channel","summary":"Get a channel's videos, shorts, playlists and about info","method":"POST","path":"/v1/youtube/channel","credits":1,"keyless":false,"perItems":30,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"channel":{"type":"string","minLength":2,"maxLength":200},"tab":{"default":"videos","type":"string","enum":["videos","shorts","live","playlists","posts","search"]},"query":{"type":"string","minLength":1,"maxLength":200},"includeAbout":{"default":false,"type":"boolean"},"limit":{"default":30,"type":"integer","minimum":1,"maximum":150},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"@mkbhd"}},{"id":"youtube.playlist","title":"Playlist","summary":"Get the videos in a playlist","method":"POST","path":"/v1/youtube/playlist","credits":1,"keyless":false,"perItems":100,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"playlist":{"type":"string"},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["playlist"],"additionalProperties":false},"example":{"playlist":"PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI"}},{"id":"reddit.search","title":"Search","summary":"Search Reddit posts, comments, subreddits and users","method":"POST","path":"/v1/reddit/search","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":512},"type":{"default":"posts","type":"string","enum":["posts","subreddits","users"]},"subreddit":{"type":"string"},"sort":{"default":"relevance","type":"string","enum":["relevance","hot","top","newest","mostComments"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"includeNsfw":{"default":false,"type":"boolean"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":8192},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"typescript"}},{"id":"reddit.post","title":"Post","summary":"Read a post and its comment thread","method":"POST","path":"/v1/reddit/post","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"sort":{"default":"best","type":"string","enum":["best","top","newest","controversial","oldest","qa"]},"depth":{"type":"integer","minimum":1,"maximum":10},"limit":{"default":200,"type":"integer","minimum":1,"maximum":500},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"reddit.comments.more","title":"More comments","summary":"Load more comments from a thread","method":"POST","path":"/v1/reddit/comments/more","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"limit":{"default":100,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":8192},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["cursor"],"additionalProperties":false},"example":null},{"id":"reddit.subreddit","title":"Subreddit","summary":"Get a subreddit's info and posts","method":"POST","path":"/v1/reddit/subreddit","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"subreddit":{"type":"string"},"sort":{"default":"hot","type":"string","enum":["hot","newest","top","rising","controversial"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":8192},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["subreddit"],"additionalProperties":false},"example":{"subreddit":"AskReddit"}},{"id":"reddit.user","title":"User","summary":"Get a user's posts and comments","method":"POST","path":"/v1/reddit/user","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"user":{"type":"string"},"tab":{"default":"overview","type":"string","enum":["overview","posts","comments"]},"sort":{"default":"newest","type":"string","enum":["newest","hot","top","controversial"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":8192},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"spez"}},{"id":"reddit.domain","title":"Posts by domain","summary":"Get Reddit posts that link to a website","method":"POST","path":"/v1/reddit/domain","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"domain":{"type":"string"},"sort":{"default":"newest","type":"string","enum":["hot","newest","top","rising","controversial"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":8192},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["domain"],"additionalProperties":false},"example":{"domain":"github.com"}},{"id":"maps.search","title":"Search","summary":"Search places on Google Maps by keyword and location","method":"POST","path":"/v1/maps/search","credits":3,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"near":{"type":"string","minLength":2,"maxLength":200},"center":{"type":"object","properties":{"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180}},"required":["lat","lng"]},"radiusKm":{"default":5,"type":"number","exclusiveMinimum":0,"maximum":100},"limit":{"default":20,"type":"integer","minimum":1,"maximum":1000},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"coffee","near":"Austin, TX","limit":20}},{"id":"maps.place","title":"Place","summary":"Get a place's address, hours, rating and contact details","method":"POST","path":"/v1/maps/place","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"place":{"type":"string"},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["place"],"additionalProperties":false},"example":null},{"id":"maps.reviews","title":"Reviews","summary":"Get a place's reviews","method":"POST","path":"/v1/maps/reviews","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"place":{"type":"string"},"sort":{"default":"newest","type":"string","enum":["relevance","newest","highest","lowest"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","minLength":1,"maxLength":4096},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["place"],"additionalProperties":false},"example":null},{"id":"instagram.profile","title":"Profile","summary":"Get a profile's bio, stats and recent posts","method":"POST","path":"/v1/instagram/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"includePosts":{"default":true,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"natgeo"}},{"id":"instagram.posts","title":"Posts","summary":"Get a profile's posts and reels","method":"POST","path":"/v1/instagram/posts","credits":1,"keyless":false,"perItems":12,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"user":{"type":"string"},"type":{"default":"all","type":"string","enum":["all","reels","videos","photos"]},"limit":{"default":12,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d+_\\d+)?|(?:\\d+_\\d+))$"},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"includeViews":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"natgeo","limit":12}},{"id":"instagram.post","title":"Post","summary":"Get a post or reel, with its comments","method":"POST","path":"/v1/instagram/post","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"post":{"type":"string"},"includeComments":{"default":true,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"instagram.url","title":"Link","summary":"Get any Instagram profile, post or reel from its link","method":"POST","path":"/v1/instagram/url","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"url":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://www.instagram.com/natgeo/"}},{"id":"instagram.search","title":"Search","summary":"Search Instagram posts and reels","method":"POST","path":"/v1/instagram/search","credits":3,"keyless":false,"perItems":10,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"type":{"default":"all","type":"string","enum":["all","posts","reels"]},"within":{"default":"all","type":"string","enum":["hour","day","week","month","year","all"]},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"street food","limit":5}},{"id":"instagram.transcript","title":"Transcript","summary":"Get the transcript of a reel or video post","method":"POST","path":"/v1/instagram/transcript","credits":5,"keyless":false,"perItems":1,"cacheTtlSeconds":604800,"input":{"type":"object","properties":{"post":{"type":"string"},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"includeTimestamps":{"default":false,"type":"boolean"},"limit":{"default":1,"type":"integer","minimum":1,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 604800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":604800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"instagram.comments","title":"Comments","summary":"Get a post's comments","method":"POST","path":"/v1/instagram/comments","credits":1,"keyless":false,"perItems":15,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"instagram.comments.replies","title":"Comment replies","summary":"Get the replies to a post comment","method":"POST","path":"/v1/instagram/comments/replies","credits":1,"keyless":false,"perItems":15,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"comment":{"type":"string"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","minLength":1,"maxLength":4096},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post","comment"],"additionalProperties":false},"example":null},{"id":"tiktok.profile","title":"Profile","summary":"Get a profile's bio and stats","method":"POST","path":"/v1/tiktok/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"khaby.lame"}},{"id":"tiktok.video","title":"Video","summary":"Get a video's caption, stats and music","method":"POST","path":"/v1/tiktok/video","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"video":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"7652012587009215774"}},{"id":"tiktok.url","title":"Link","summary":"Get any TikTok profile or video from its link","method":"POST","path":"/v1/tiktok/url","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"url":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://www.tiktok.com/@nasa"}},{"id":"tiktok.transcript","title":"Transcript","summary":"Get a video's transcript, with optional timestamps","method":"POST","path":"/v1/tiktok/transcript","credits":5,"keyless":false,"perItems":null,"cacheTtlSeconds":604800,"input":{"type":"object","properties":{"video":{"type":"string"},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"includeTimestamps":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 604800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":604800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"7640167378633919758"}},{"id":"tiktok.posts","title":"Posts","summary":"Get a profile's videos","method":"POST","path":"/v1/tiktok/posts","credits":1,"keyless":false,"perItems":30,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"user":{"type":"string"},"limit":{"default":30,"type":"integer","minimum":1,"maximum":300},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,20})?|(?:\\d{1,20}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"khaby.lame"}},{"id":"tiktok.hashtag","title":"Hashtag","summary":"Get videos for a hashtag","method":"POST","path":"/v1/tiktok/hashtag","credits":1,"keyless":false,"perItems":30,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"hashtag":{"type":"string"},"limit":{"default":30,"type":"integer","minimum":1,"maximum":300},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,20})?|(?:\\d{1,20}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["hashtag"],"additionalProperties":false},"example":{"hashtag":"booktok","limit":15}},{"id":"tiktok.comments","title":"Comments","summary":"Get a video's comments","method":"POST","path":"/v1/tiktok/comments","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"video":{"type":"string"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,20})?|(?:\\d{1,20}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video"],"additionalProperties":false},"example":{"video":"7652012587009215774","limit":20}},{"id":"tiktok.comments.replies","title":"Comment replies","summary":"Get the replies to a video comment","method":"POST","path":"/v1/tiktok/comments/replies","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"video":{"type":"string"},"comment":{"type":"string","pattern":"^\\d{5,25}$"},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,20})?|(?:\\d{1,20}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["video","comment"],"additionalProperties":false},"example":null},{"id":"tiktok.search","title":"Search","summary":"Search TikTok videos and users","method":"POST","path":"/v1/tiktok/search","credits":1,"keyless":false,"perItems":12,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"type":{"default":"videos","type":"string","enum":["videos","users"]},"limit":{"default":12,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,6}:[\\w-]{1,80})?|(?:\\d{1,6}:[\\w-]{1,80}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"street food"}},{"id":"bluesky.profile","title":"Profile","summary":"Get a profile's bio and stats","method":"POST","path":"/v1/bluesky/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"bsky.app"}},{"id":"bluesky.posts","title":"Posts","summary":"Get a profile's posts","method":"POST","path":"/v1/bluesky/posts","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"user":{"type":"string"},"type":{"default":"all","type":"string","enum":["all","posts","media","video","threads"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^[\\w:.+=/-]{1,512}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"bsky.app","limit":50}},{"id":"bluesky.post","title":"Post","summary":"Read a post and its replies","method":"POST","path":"/v1/bluesky/post","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"depth":{"default":3,"type":"integer","minimum":0,"maximum":10},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"bluesky.followers","title":"Followers","summary":"Get a profile's followers","method":"POST","path":"/v1/bluesky/followers","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"limit":{"default":100,"type":"integer","minimum":1,"maximum":1000},"cursor":{"type":"string","pattern":"^[\\w:.+=/-]{1,512}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"bsky.app","limit":50}},{"id":"mastodon.profile","title":"Profile","summary":"Get a profile's bio and stats","method":"POST","path":"/v1/mastodon/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"Gargron@mastodon.social"}},{"id":"mastodon.posts","title":"Posts","summary":"Get a profile's posts","method":"POST","path":"/v1/mastodon/posts","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"user":{"type":"string"},"excludeReplies":{"default":false,"type":"boolean"},"excludeReposts":{"default":false,"type":"boolean"},"limit":{"default":40,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^[\\dA-Za-z]{1,40}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"Gargron@mastodon.social","limit":40}},{"id":"mastodon.post","title":"Post","summary":"Read a post with its thread and replies","method":"POST","path":"/v1/mastodon/post","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"mastodon.hashtag","title":"Hashtag","summary":"Get posts for a hashtag","method":"POST","path":"/v1/mastodon/hashtag","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"hashtag":{"type":"string"},"instance":{"type":"string"},"limit":{"default":40,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^[\\dA-Za-z]{1,40}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["hashtag"],"additionalProperties":false},"example":{"hashtag":"caturday","limit":40}},{"id":"threads.profile","title":"Profile","summary":"Get a profile's bio and stats","method":"POST","path":"/v1/threads/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"zuck"}},{"id":"threads.posts","title":"Posts","summary":"Get a profile's posts","method":"POST","path":"/v1/threads/posts","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"user":{"type":"string"},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","minLength":1,"pattern":"^(?:\\d+~)?(?:[A-Za-z0-9+/_=-]{16,16000})?$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"zuck","limit":20}},{"id":"threads.post","title":"Post","summary":"Read a post with its thread and replies","method":"POST","path":"/v1/threads/post","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"cursor":{"type":"string","minLength":1,"pattern":"^(?:\\d+~)?(?:[A-Za-z0-9+/_=-]{16,16000})?$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"threads.search","title":"Search","summary":"Search Threads posts","method":"POST","path":"/v1/threads/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"default":20,"type":"integer","minimum":1,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"coffee","limit":20}},{"id":"telegram.channel","title":"Channel","summary":"Get a public channel's info","method":"POST","path":"/v1/telegram/channel","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"channel":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"durov"}},{"id":"telegram.posts","title":"Posts","summary":"Get a public channel's posts","method":"POST","path":"/v1/telegram/posts","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"channel":{"type":"string"},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^[1-9]\\d{0,9}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"durov","limit":20}},{"id":"telegram.post","title":"Post","summary":"Get a single channel post","method":"POST","path":"/v1/telegram/post","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"post":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"meta.ads.search","title":"Search ads","summary":"Search ads in the Meta ad library","method":"POST","path":"/v1/meta/ads/search","credits":2,"keyless":false,"perItems":10,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"country":{"default":"us","pattern":"^(?:[A-Za-z]{2}|[Aa][Ll][Ll])$","description":"ISO 3166-1 alpha-2 country code, or all. Any case is accepted.","type":"string"},"adType":{"default":"all","type":"string","enum":["all","politicalAndIssue"]},"status":{"default":"active","type":"string","enum":["active","inactive","all"]},"mediaType":{"default":"all","type":"string","enum":["all","image","video","meme","none"]},"platforms":{"default":[],"maxItems":4,"type":"array","items":{"type":"string","enum":["facebook","instagram","messenger","audienceNetwork"]}},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"limit":{"default":30,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w-]{10,500})?|(?:[\\w-]{10,500}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"nike","limit":20}},{"id":"meta.ads.page","title":"Page ads","summary":"Get the ads a Facebook page runs","method":"POST","path":"/v1/meta/ads/page","credits":2,"keyless":false,"perItems":10,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"page":{"type":"string"},"country":{"default":"us","pattern":"^(?:[A-Za-z]{2}|[Aa][Ll][Ll])$","description":"ISO 3166-1 alpha-2 country code, or all. Any case is accepted.","type":"string"},"adType":{"default":"all","type":"string","enum":["all","politicalAndIssue"]},"status":{"default":"active","type":"string","enum":["active","inactive","all"]},"mediaType":{"default":"all","type":"string","enum":["all","image","video","meme","none"]},"platforms":{"default":[],"maxItems":4,"type":"array","items":{"type":"string","enum":["facebook","instagram","messenger","audienceNetwork"]}},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"limit":{"default":30,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w-]{10,500})?|(?:[\\w-]{10,500}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["page"],"additionalProperties":false},"example":{"page":"https://www.facebook.com/nike","limit":10}},{"id":"meta.ads.ad","title":"Ad","summary":"Get a Meta ad's details","method":"POST","path":"/v1/meta/ads/ad","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"ad":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"linkedin.jobs.search","title":"Search jobs","summary":"Search LinkedIn jobs","method":"POST","path":"/v1/linkedin/jobs/search","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","maxLength":200},"location":{"type":"string","maxLength":200},"geoId":{"type":"string","pattern":"^\\d{1,15}$"},"within":{"default":"all","type":"string","enum":["day","week","month","all"]},"jobTypes":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","enum":["fullTime","partTime","contract","temporary","internship"]}},"experience":{"default":[],"maxItems":6,"type":"array","items":{"type":"string","enum":["internship","entry","associate","midSenior","director","executive"]}},"workplace":{"default":[],"maxItems":3,"type":"array","items":{"type":"string","enum":["onsite","remote","hybrid"]}},"companyIds":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","pattern":"^\\d{1,15}$"}},"easyApply":{"default":false,"type":"boolean"},"sort":{"default":"relevance","type":"string","enum":["relevance","newest"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^\\d{1,3}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"product manager","location":"New York"}},{"id":"linkedin.jobs.job","title":"Job","summary":"Get a LinkedIn job's details","method":"POST","path":"/v1/linkedin/jobs/job","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"job":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["job"],"additionalProperties":false},"example":null},{"id":"linkedin.ads.search","title":"Search ads","summary":"Search ads in the LinkedIn ad library","method":"POST","path":"/v1/linkedin/ads/search","credits":2,"keyless":false,"perItems":24,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","maxLength":500},"advertiser":{"type":"string","maxLength":500},"paidBy":{"type":"string","maxLength":500},"countries":{"default":[],"maxItems":30,"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."}},"within":{"default":"all","type":"string","enum":["month","year","all"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":24,"type":"integer","minimum":1,"maximum":120},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,20}-\\d{1,20})?|(?:\\d{1,20}-\\d{1,20}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"software"}},{"id":"linkedin.ads.ad","title":"Ad","summary":"Get a LinkedIn ad's details","method":"POST","path":"/v1/linkedin/ads/ad","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"ad":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"linkedin.company","title":"Company","summary":"Get a company's profile, size and industry","method":"POST","path":"/v1/linkedin/company","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"company":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["company"],"additionalProperties":false},"example":{"company":"microsoft"}},{"id":"linkedin.profile","title":"Profile","summary":"Get a person's profile","method":"POST","path":"/v1/linkedin/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"profile":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["profile"],"additionalProperties":false},"example":{"profile":"satyanadella"}},{"id":"linkedin.posts","title":"Posts","summary":"Get a person's or company's posts","method":"POST","path":"/v1/linkedin/posts","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"profile":{"type":"string"},"company":{"type":"string"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"profile":"satyanadella","limit":5}},{"id":"linkedin.company.posts","title":"Company posts","summary":"Get a company's posts","method":"POST","path":"/v1/linkedin/company/posts","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"company":{"type":"string"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["company"],"additionalProperties":false},"example":{"company":"openai","limit":5}},{"id":"zillow.search","title":"Search","summary":"Search homes for sale, for rent or sold","method":"POST","path":"/v1/zillow/search","credits":3,"keyless":false,"perItems":41,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"bounds":{"type":"object","properties":{"west":{"type":"number","minimum":-180,"maximum":180},"east":{"type":"number","minimum":-180,"maximum":180},"south":{"type":"number","minimum":-90,"maximum":90},"north":{"type":"number","minimum":-90,"maximum":90}},"required":["west","east","south","north"]},"status":{"default":"forSale","type":"string","enum":["forSale","forRent","sold"]},"sort":{"default":"relevance","type":"string","enum":["relevance","newest","priceHigh","priceLow","bedrooms","bathrooms","sqft","lot"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bedrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bathrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"sqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"lotSqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"yearBuilt":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"hoa":{"type":"object","properties":{"max":{"type":"number","minimum":0}},"required":["max"]},"homeTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["house","townhouse","multiFamily","condo","land","apartment","manufactured"]}},"listingTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["agent","owner","newConstruction","comingSoon","auction","foreclosure"]}},"within":{"default":"all","type":"string","enum":["day","week","twoWeeks","month","threeMonths","sixMonths","year","twoYears","threeYears","all"]},"query":{"type":"string","minLength":1,"maxLength":200},"features":{"minItems":1,"type":"array","items":{"type":"string","enum":["garage","pool","airConditioning","waterfront","singleStory","openHouse","tour3d","cityView","parkView","waterView","mountainView","catsAllowed","furnished"]}},"limit":{"default":41,"type":"integer","minimum":1,"maximum":410},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[2-9]|1\\d|20)?|(?:[2-9]|1\\d|20))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"location":"Austin, TX"}},{"id":"zillow.property","title":"Property","summary":"Get a home's details, price and Zestimate","method":"POST","path":"/v1/zillow/property","credits":3,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"property":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["property"],"additionalProperties":false},"example":null},{"id":"google.ads.advertisers","title":"Advertisers","summary":"Find advertisers in the Google ads library","method":"POST","path":"/v1/google/ads/advertisers","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"nike"}},{"id":"google.ads.search","title":"Search ads","summary":"Search ads in the Google ads library","method":"POST","path":"/v1/google/ads/search","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"advertiser":{"type":"string"},"domain":{"type":"string"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"mediaType":{"type":"string","enum":["text","image","video"]},"platform":{"type":"string","enum":["play","maps","search","shopping","youtube"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":40,"type":"integer","minimum":1,"maximum":300},"cursor":{"type":"string","pattern":"^[\\w+/=-]{8,512}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"domain":"nike.com","limit":25}},{"id":"google.ads.ad","title":"Ad","summary":"Get a Google ad's details","method":"POST","path":"/v1/google/ads/ad","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"advertiser":{"type":"string"},"ad":{"type":"string"}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"tiktok.ads.search","title":"Search ads","summary":"Search ads in the TikTok ad library","method":"POST","path":"/v1/tiktok/ads/search","credits":1,"keyless":false,"perItems":12,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"advertiser":{"type":"string","minLength":1,"maxLength":200},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":12,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[A-Za-z0-9+/=]{8,400})?|(?:[A-Za-z0-9+/=]{8,400}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"adidas","limit":12}},{"id":"tiktok.ads.ad","title":"Ad","summary":"Get a TikTok ad's details and reach","method":"POST","path":"/v1/tiktok/ads/ad","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"ad":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"upwork.search","title":"Search","summary":"Search Upwork jobs","method":"POST","path":"/v1/upwork/search","credits":2,"keyless":false,"perItems":10,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"sort":{"default":"newest","type":"string","enum":["newest","relevance"]},"jobType":{"type":"string","enum":["hourly","fixed"]},"experience":{"minItems":1,"type":"array","items":{"type":"string","enum":["entry","intermediate","expert"]}},"duration":{"minItems":1,"type":"array","items":{"type":"string","enum":["week","month","semester","ongoing"]}},"workload":{"minItems":1,"type":"array","items":{"type":"string","enum":["asNeeded","partTime","fullTime"]}},"clientHires":{"minItems":1,"type":"array","items":{"type":"string","enum":["none","oneToNine","tenPlus"]}},"hourlyRate":{"type":"object","properties":{"min":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}},"contractToHire":{"type":"boolean"},"locations":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"timezones":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":2,"maxLength":60}},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"react developer","limit":20}},{"id":"upwork.job","title":"Job","summary":"Get an Upwork job's details","method":"POST","path":"/v1/upwork/job","credits":3,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"job":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["job"],"additionalProperties":false},"example":null},{"id":"google.suggest","title":"Suggestions","summary":"Get Google search suggestions for a keyword","method":"POST","path":"/v1/google/suggest","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"expand":{"default":"none","type":"string","enum":["none","alphabet","questions","all"]},"vertical":{"default":"web","type":"string","enum":["web","shopping"]},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"best running shoes","expand":"alphabet"}},{"id":"youtube.suggest","title":"Suggestions","summary":"Get YouTube search suggestions for a keyword","method":"POST","path":"/v1/youtube/suggest","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"expand":{"default":"none","type":"string","enum":["none","alphabet","questions","all"]},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"how to learn","expand":"alphabet"}},{"id":"amazon.suggest","title":"Suggestions","summary":"Get Amazon search suggestions for a keyword","method":"POST","path":"/v1/amazon/suggest","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"country":{"default":"us","enum":["us","ca","mx","br","gb","de","fr","it","es","nl","be","se","pl","tr","ae","sa","eg","in","jp","au","sg"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"expand":{"default":"none","type":"string","enum":["none","alphabet","questions","all"]},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"coffee maker","expand":"alphabet"}},{"id":"google.trends.interest","title":"Trends interest over time","summary":"Get search interest over time","method":"POST","path":"/v1/google/trends/interest","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"queries":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"subdivision":{"type":"string","pattern":"^[A-Z0-9]{1,3}(-[A-Z0-9]{1,3})?$","description":"A state or metro inside country, e.g. CA for California in us."},"within":{"type":"string","enum":["hour","day","week","month","year","all"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"category":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"vertical":{"default":"web","type":"string","enum":["web","images","news","youtube","shopping"]},"language":{"default":"en-US","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["queries"],"additionalProperties":false},"example":{"queries":["bitcoin","ethereum"]}},{"id":"google.trends.regions","title":"Trends by region","summary":"Get search interest by region","method":"POST","path":"/v1/google/trends/regions","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"queries":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"subdivision":{"type":"string","pattern":"^[A-Z0-9]{1,3}(-[A-Z0-9]{1,3})?$","description":"A state or metro inside country, e.g. CA for California in us."},"within":{"type":"string","enum":["hour","day","week","month","year","all"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"category":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"vertical":{"default":"web","type":"string","enum":["web","images","news","youtube","shopping"]},"language":{"default":"en-US","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"resolution":{"type":"string","enum":["country","region","metro"]},"includeLowVolume":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["queries"],"additionalProperties":false},"example":{"queries":["bitcoin"]}},{"id":"google.trends.related","title":"Related searches","summary":"Get related searches for a keyword","method":"POST","path":"/v1/google/trends/related","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":100},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"subdivision":{"type":"string","pattern":"^[A-Z0-9]{1,3}(-[A-Z0-9]{1,3})?$","description":"A state or metro inside country, e.g. CA for California in us."},"within":{"type":"string","enum":["hour","day","week","month","year","all"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"category":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"vertical":{"default":"web","type":"string","enum":["web","images","news","youtube","shopping"]},"language":{"default":"en-US","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"bitcoin"}},{"id":"google.trends.trending","title":"Trending now","summary":"Get what is trending on Google now","method":"POST","path":"/v1/google/trends/trending","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"subdivision":{"type":"string","pattern":"^[A-Z0-9]{1,3}(-[A-Z0-9]{1,3})?$","description":"A state or metro inside country, e.g. CA for California in us."},"within":{"default":"day","type":"string","enum":["fourHours","day","twoDays","week"]},"category":{"type":"string","enum":["autos","beautyFashion","business","entertainment","foodDrink","games","health","hobbies","jobsEducation","lawGovernment","other","petsAnimals","politics","science","shopping","sports","technology","travel","climate"]},"active":{"default":false,"type":"boolean"},"language":{"default":"en-US","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":2000},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"country":"us","limit":50}},{"id":"site.map","title":"Pages","summary":"List every page on a website","method":"POST","path":"/v1/site/map","credits":2,"keyless":false,"perItems":500,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"url":{"type":"string"},"include":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"exclude":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"limit":{"default":1000,"type":"integer","minimum":1,"maximum":10000},"cursor":{"type":"string","pattern":"^[\\da-f]{32}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://stripe.com","limit":500}},{"id":"site.seo","title":"SEO check","summary":"Check a page's SEO: titles, tags, headings and links","method":"POST","path":"/v1/site/seo","credits":2,"keyless":false,"perItems":2,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"url":{"type":"string"},"checkLinks":{"default":5,"type":"integer","minimum":0,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://www.shopify.com"}},{"id":"domain.whois","title":"WHOIS","summary":"Get a domain's registrar and key dates","method":"POST","path":"/v1/domain/whois","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"domain":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["domain"],"additionalProperties":false},"example":{"domain":"stripe.com"}},{"id":"domain.dns","title":"DNS records","summary":"Get a domain's DNS records","method":"POST","path":"/v1/domain/dns","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"domain":{"type":"string"},"types":{"default":["A","AAAA","CNAME","MX","NS","TXT","SOA","CAA"],"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["A","AAAA","CNAME","MX","NS","TXT","SOA","CAA"]}},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["domain"],"additionalProperties":false},"example":{"domain":"stripe.com"}},{"id":"domain.tech","title":"Technologies","summary":"Find the technologies a website uses","method":"POST","path":"/v1/domain/tech","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"url":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["url"],"additionalProperties":false},"example":{"url":"https://www.allbirds.com"}},{"id":"email.check","title":"Check","summary":"Check if email addresses can receive mail","method":"POST","path":"/v1/email/check","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"emails":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":320}},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["emails"],"additionalProperties":false},"example":{"emails":["hello@stripe.com","test@mailinator.com","bad@@x"]}},{"id":"crypto.coins","title":"Coins","summary":"Get coin prices, market caps and volume","method":"POST","path":"/v1/crypto/coins","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":60,"input":{"type":"object","properties":{"currency":{"default":"usd","type":"string","pattern":"^[A-Za-z]{3,5}$","description":"Currency code, e.g. usd. Any case is accepted."},"category":{"type":"string","pattern":"^[a-z0-9][\\w.-]{0,99}$"},"coins":{"minItems":1,"maxItems":250,"type":"array","items":{"type":"string"}},"sort":{"default":"marketCap","type":"string","enum":["marketCap","volume","id"]},"order":{"type":"string","enum":["asc","desc"]},"limit":{"default":100,"type":"integer","minimum":1,"maximum":1000},"cursor":{"type":"string","pattern":"^(?:\\d{1,3}~)?\\d{1,4}:\\d{1,3}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 60. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":60},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"limit":100}},{"id":"crypto.coin","title":"Coin","summary":"Get a coin's price, supply and details","method":"POST","path":"/v1/crypto/coin","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":60,"input":{"type":"object","properties":{"coin":{"type":"string"},"source":{"default":"coingecko","type":"string","enum":["coingecko","coinmarketcap"]},"platform":{"type":"string","pattern":"^[a-z0-9][\\w.-]{0,99}$"},"currency":{"default":"usd","type":"string","pattern":"^[A-Za-z]{3,5}$","description":"Currency code, e.g. usd. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 60. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":60},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["coin"],"additionalProperties":false},"example":{"coin":"bitcoin"}},{"id":"crypto.history","title":"Price history","summary":"Get a coin's price history","method":"POST","path":"/v1/crypto/history","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"coin":{"type":"string"},"currency":{"default":"usd","type":"string","pattern":"^[A-Za-z]{3,5}$","description":"Currency code, e.g. usd. Any case is accepted."},"within":{"type":"string","enum":["day","week","twoWeeks","month","threeMonths","sixMonths","year"]},"from":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}]},"to":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}]},"includeCandles":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["coin"],"additionalProperties":false},"example":{"coin":"bitcoin","within":"month"}},{"id":"crypto.trending","title":"Trending","summary":"Get trending coins, categories and NFTs","method":"POST","path":"/v1/crypto/trending","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{}},{"id":"crypto.categories","title":"Categories","summary":"Get crypto categories by market cap","method":"POST","path":"/v1/crypto/categories","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":600,"input":{"type":"object","properties":{"sort":{"default":"marketCap","type":"string","enum":["marketCap","change","name"]},"order":{"type":"string","enum":["asc","desc"]},"limit":{"default":100,"type":"integer","minimum":1,"maximum":1000},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"limit":50}},{"id":"crypto.movers","title":"Movers","summary":"Get the top gaining and losing coins","method":"POST","path":"/v1/crypto/movers","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"within":{"default":"day","type":"string","enum":["hour","day","week","month"]},"rankUpTo":{"anyOf":[{"type":"number","const":100},{"type":"number","const":200},{"type":"number","const":500}]},"limit":{"default":30,"type":"integer","minimum":5,"maximum":30},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{}},{"id":"crypto.new","title":"New coins","summary":"Get newly listed coins","method":"POST","path":"/v1/crypto/new","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"limit":{"default":100,"type":"integer","minimum":5,"maximum":200},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"limit":50}},{"id":"crypto.dex.search","title":"Search DEX pairs","summary":"Search DEX trading pairs","method":"POST","path":"/v1/crypto/dex/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":60,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":100},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 60. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":60},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"pepe"}},{"id":"crypto.dex.pairs","title":"DEX pair","summary":"Get a DEX trading pair","method":"POST","path":"/v1/crypto/dex/pairs","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":30,"input":{"type":"object","properties":{"chain":{"type":"string","pattern":"^[a-z0-9]{2,30}$"},"pair":{"type":"string","minLength":1}},"required":["pair"],"additionalProperties":false},"example":null},{"id":"crypto.dex.token","title":"DEX token","summary":"Get a token and its DEX pairs","method":"POST","path":"/v1/crypto/dex/token","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":30,"input":{"type":"object","properties":{"chain":{"type":"string","pattern":"^[a-z0-9]{2,30}$"},"token":{"type":"string","minLength":1},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100}},"required":["token"],"additionalProperties":false},"example":{"chain":"ethereum","token":"0x6982508145454Ce325dDbE47a25d4ec3d2311933","limit":5}},{"id":"crypto.dex.new","title":"New DEX tokens","summary":"Get new and boosted tokens on DEXes","method":"POST","path":"/v1/crypto/dex/new","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":60,"input":{"type":"object","properties":{"type":{"default":"profiles","type":"string","enum":["profiles","boosts","topBoosts","takeovers"]},"chain":{"type":"string","pattern":"^[a-z0-9]{2,30}$"},"includePairs":{"default":true,"type":"boolean"},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 60. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":60},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{}},{"id":"crypto.pump.coins","title":"Pump.fun coins","summary":"Get pump.fun coins","method":"POST","path":"/v1/crypto/pump/coins","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":15,"input":{"type":"object","properties":{"sort":{"default":"newest","type":"string","enum":["newest","lastTrade","marketCap","lastReply","live"]},"includeNsfw":{"default":false,"type":"boolean"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,7})?|(?:\\d{1,7}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 15. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":15},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"limit":50}},{"id":"crypto.pump.coin","title":"Pump.fun coin","summary":"Get a pump.fun coin's details","method":"POST","path":"/v1/crypto/pump/coin","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":15,"input":{"type":"object","properties":{"coin":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 15. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":15},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["coin"],"additionalProperties":false},"example":null},{"id":"crypto.pump.trades","title":"Pump.fun trades","summary":"Get a pump.fun coin's trades","method":"POST","path":"/v1/crypto/pump/trades","credits":1,"keyless":false,"perItems":100,"cacheTtlSeconds":15,"input":{"type":"object","properties":{"coin":{"type":"string"},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^\\d{1,40}-\\d{1,15}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 15. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":15},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["coin"],"additionalProperties":false},"example":null},{"id":"crypto.wallet","title":"Wallet","summary":"Get a wallet's balance, tokens and transactions","method":"POST","path":"/v1/crypto/wallet","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":30,"input":{"type":"object","properties":{"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","gnosis","bitcoin","solana"]},"wallet":{"type":"string"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^[\\w~]{1,128}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 30. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":30},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["chain","wallet"],"additionalProperties":false},"example":{"chain":"ethereum","wallet":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","limit":25}},{"id":"crypto.token.holders","title":"Token holders","summary":"Get a token's top holders","method":"POST","path":"/v1/crypto/token/holders","credits":1,"keyless":false,"perItems":50,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","gnosis"]},"token":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":250},"cursor":{"type":"string","pattern":"^\\d{1,7}:\\d{1,80}:0x[a-fA-F0-9]{40}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["chain","token"],"additionalProperties":false},"example":{"chain":"ethereum","token":"0xdAC17F958D2ee523a2206206994597C13D831ec7","limit":50}},{"id":"crypto.binance.announcements","title":"Announcements from Binance","summary":"Get Binance announcements and listings","method":"POST","path":"/v1/crypto/binance/announcements","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"category":{"default":"listings","type":"string","enum":["listings","delistings","news","activities","airdrops","maintenance","api"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[1-9]\\d{0,4})?|(?:[1-9]\\d{0,4}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"category":"listings"}},{"id":"indeed.search","title":"Search","summary":"Search Indeed jobs","method":"POST","path":"/v1/indeed/search","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","maxLength":200},"location":{"type":"string","minLength":2,"maxLength":200},"radiusKm":{"default":40,"type":"number","minimum":0,"maximum":160},"country":{"default":"us","enum":["us","gb","ca","au","nz","ie","in","sg","my","ph","za","ng","ae","sa","qa","kw","bh","om","pk","hk","jp","kr","tw","cn","id","th","vn","de","at","ch","fr","be","nl","lu","es","pt","it","gr","mt","cy","pl","cz","sk","hu","ro","bg","hr","si","ee","lv","lt","fi","se","no","dk","ua","tr","il","eg","ma","mx","br","ar","cl","co","pe","ec","uy","ve","cr","pa"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"jobType":{"type":"string","enum":["fullTime","partTime","contract","internship"]},"remote":{"default":false,"type":"boolean"},"within":{"default":"all","type":"string","enum":["day","threeDays","week","twoWeeks","month","all"]},"salary":{"type":"object","properties":{"min":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["min"]},"sort":{"default":"relevance","type":"string","enum":["relevance","newest"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.[A-Za-z\\d+/]*={0,2}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"data analyst","location":"Chicago, IL","limit":25}},{"id":"indeed.job","title":"Job","summary":"Get an Indeed job's details","method":"POST","path":"/v1/indeed/job","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"job":{"type":"string"},"country":{"enum":["us","gb","ca","au","nz","ie","in","sg","my","ph","za","ng","ae","sa","qa","kw","bh","om","pk","hk","jp","kr","tw","cn","id","th","vn","de","at","ch","fr","be","nl","lu","es","pt","it","gr","mt","cy","pl","cz","sk","hu","ro","bg","hr","si","ee","lv","lt","fi","se","no","dk","ua","tr","il","eg","ma","mx","br","ar","cl","co","pe","ec","uy","ve","cr","pa"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["job"],"additionalProperties":false},"example":null},{"id":"tripadvisor.search","title":"Search","summary":"Search hotels, restaurants and attractions","method":"POST","path":"/v1/tripadvisor/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":200},"type":{"default":"all","type":"string","enum":["all","hotels","restaurants","attractions","geos"]},"limit":{"default":10,"type":"integer","minimum":1,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"Eiffel Tower"}},{"id":"tripadvisor.place","title":"Place","summary":"Get a place's rating, ranking and details","method":"POST","path":"/v1/tripadvisor/place","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"place":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["place"],"additionalProperties":false},"example":null},{"id":"tripadvisor.reviews","title":"Reviews","summary":"Get a place's reviews","method":"POST","path":"/v1/tripadvisor/reviews","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"place":{"type":"string"},"language":{"default":"en","type":"string","pattern":"^(?:[Aa][Ll][Ll]|[A-Za-z]{2}(?:-[A-Za-z]{2})?)$"},"ratings":{"default":[],"maxItems":5,"type":"array","items":{"type":"integer","minimum":1,"maximum":5}},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["place"],"additionalProperties":false},"example":null},{"id":"googletravel.flights","title":"Flights","summary":"Search flights with prices and times","method":"POST","path":"/v1/googletravel/flights","credits":3,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"origin":{"type":"string","pattern":"^[A-Za-z]{3}$","description":"IATA airport code, e.g. JFK. Any case is accepted."},"destination":{"type":"string","pattern":"^[A-Za-z]{3}$","description":"IATA airport code, e.g. JFK. Any case is accepted."},"departDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"returnDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"adults":{"default":1,"type":"integer","minimum":1,"maximum":9},"children":{"default":0,"type":"integer","minimum":0,"maximum":8},"cabin":{"default":"economy","type":"string","enum":["economy","premiumEconomy","business","first"]},"maxStops":{"type":"integer","minimum":0,"maximum":2},"currency":{"default":"USD","type":"string"},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["origin","destination","departDate"],"additionalProperties":false},"example":{"origin":"JFK","destination":"LAX","departDate":"2026-11-13"}},{"id":"amazon.search","title":"Search","summary":"Search Amazon products","method":"POST","path":"/v1/amazon/search","credits":5,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":300},"category":{"type":"string","pattern":"^([a-z][a-z-]{1,40}|\\d{3,15})$"},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"sort":{"default":"relevance","type":"string","enum":["relevance","priceLow","priceHigh","mostReviewed","newest","bestSelling"]},"prime":{"default":false,"type":"boolean"},"country":{"default":"us","enum":["us","gb","de","fr","it","es","ca","jp","in","au","mx","br","nl","se","pl","sg","ae","sa","tr","be","eg"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[2-9]|1\\d|20)?|(?:[2-9]|1\\d|20))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"wireless earbuds"}},{"id":"amazon.product","title":"Product","summary":"Get a product's price, details and rating","method":"POST","path":"/v1/amazon/product","credits":5,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"product":{"type":"string"},"country":{"enum":["us","gb","de","fr","it","es","ca","jp","in","au","mx","br","nl","se","pl","sg","ae","sa","tr","be","eg"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["product"],"additionalProperties":false},"example":null},{"id":"amazon.bestsellers","title":"Best sellers","summary":"Get the best sellers in a category","method":"POST","path":"/v1/amazon/bestsellers","credits":2,"keyless":false,"perItems":50,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"category":{"type":"string"},"country":{"default":"us","enum":["us","gb","de","fr","it","es","ca","jp","in","au","mx","br","nl","se","pl","sg","ae","sa","tr","be","eg"],"description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted.","type":"string"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:2)?|(?:2))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["category"],"additionalProperties":false},"example":{"category":"electronics"}},{"id":"shopify.products","title":"Products","summary":"Get a Shopify store's products","method":"POST","path":"/v1/shopify/products","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"store":{"type":"string"},"collection":{"type":"string","pattern":"^[\\p{L}\\p{N}][\\p{L}\\p{N}_-]{0,254}$"},"limit":{"default":250,"type":"integer","minimum":1,"maximum":1000},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,4}:\\d{1,3})?|(?:\\d{1,4}:\\d{1,3}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["store"],"additionalProperties":false},"example":{"store":"allbirds.com","limit":50}},{"id":"shopify.collections","title":"Collections","summary":"Get a Shopify store's collections","method":"POST","path":"/v1/shopify/collections","credits":1,"keyless":false,"perItems":100,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"store":{"type":"string"},"limit":{"default":250,"type":"integer","minimum":1,"maximum":1000},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,4}:\\d{1,3})?|(?:\\d{1,4}:\\d{1,3}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["store"],"additionalProperties":false},"example":{"store":"allbirds.com"}},{"id":"shopify.store","title":"Store","summary":"Get a Shopify store's details","method":"POST","path":"/v1/shopify/store","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"store":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["store"],"additionalProperties":false},"example":{"store":"allbirds.com"}},{"id":"walmart.search","title":"Search","summary":"Search Walmart products","method":"POST","path":"/v1/walmart/search","credits":5,"keyless":false,"perItems":40,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":300},"sort":{"default":"relevance","type":"string","enum":["relevance","priceLow","priceHigh","bestSelling","highest","newest"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"limit":{"default":40,"type":"integer","minimum":1,"maximum":400},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[2-9]|1\\d|2[0-5])?|(?:[2-9]|1\\d|2[0-5]))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"air fryer"}},{"id":"walmart.product","title":"Product","summary":"Get a Walmart product's price and details","method":"POST","path":"/v1/walmart/product","credits":3,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"product":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["product"],"additionalProperties":false},"example":null},{"id":"aliexpress.search","title":"Search","summary":"Search AliExpress products","method":"POST","path":"/v1/aliexpress/search","credits":2,"keyless":false,"perItems":60,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"sort":{"default":"relevance","type":"string","enum":["relevance","bestSelling","priceLow","priceHigh"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"limit":{"default":60,"type":"integer","minimum":1,"maximum":300},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[2-9]|[1-5]\\d|60)?|(?:[2-9]|[1-5]\\d|60))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"phone case"}},{"id":"aliexpress.product","title":"Product","summary":"Get an AliExpress product's price and details","method":"POST","path":"/v1/aliexpress/product","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"product":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["product"],"additionalProperties":false},"example":null},{"id":"appstore.app","title":"App","summary":"Get an app's details from the App Store","method":"POST","path":"/v1/appstore/app","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"app":{"type":"string"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["app"],"additionalProperties":false},"example":{"app":"284882215"}},{"id":"appstore.search","title":"Search","summary":"Search App Store apps","method":"POST","path":"/v1/appstore/search","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":100},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"device":{"default":"iphone","type":"string","enum":["iphone","ipad","mac"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"photo editor","limit":20}},{"id":"appstore.reviews","title":"Reviews","summary":"Get an app's App Store reviews","method":"POST","path":"/v1/appstore/reviews","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"app":{"type":"string"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"sort":{"default":"newest","type":"string","enum":["newest","helpful","highest","lowest"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,7})?|(?:\\d{1,7}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["app"],"additionalProperties":false},"example":{"app":"284882215","limit":40}},{"id":"appstore.top","title":"Top charts","summary":"Get App Store top charts","method":"POST","path":"/v1/appstore/top","credits":1,"keyless":false,"perItems":100,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"chart":{"default":"free","type":"string","enum":["free","paid","grossing"]},"device":{"default":"iphone","type":"string","enum":["iphone","ipad","mac"]},"genre":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"limit":50}},{"id":"googleplay.app","title":"App","summary":"Get an app's details from Google Play","method":"POST","path":"/v1/googleplay/app","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"app":{"type":"string"},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["app"],"additionalProperties":false},"example":{"app":"com.spotify.music"}},{"id":"googleplay.search","title":"Search","summary":"Search Google Play apps","method":"POST","path":"/v1/googleplay/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":100},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"limit":{"default":50,"type":"integer","minimum":1,"maximum":50},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"photo editor"}},{"id":"googleplay.reviews","title":"Reviews","summary":"Get an app's Google Play reviews","method":"POST","path":"/v1/googleplay/reviews","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"app":{"type":"string"},"country":{"default":"us","type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"language":{"default":"en","type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$","description":"BCP 47 language tag, e.g. en or pt-BR. Any case is accepted."},"sort":{"default":"newest","type":"string","enum":["newest","relevance","highest"]},"rating":{"type":"integer","minimum":1,"maximum":5},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^[\\w-]{20,400}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["app"],"additionalProperties":false},"example":{"app":"com.spotify.music","limit":40}},{"id":"airbnb.search","title":"Search","summary":"Search Airbnb stays by place and dates","method":"POST","path":"/v1/airbnb/search","credits":2,"keyless":false,"perItems":18,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"adults":{"default":1,"type":"integer","minimum":1,"maximum":16},"children":{"default":0,"type":"integer","minimum":0,"maximum":15},"infants":{"default":0,"type":"integer","minimum":0,"maximum":5},"pets":{"default":0,"type":"integer","minimum":0,"maximum":5},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"currency":{"type":"string","pattern":"^[A-Za-z]{3}$"},"roomType":{"type":"string","enum":["entireHome","privateRoom","sharedRoom","hotelRoom"]},"bedrooms":{"type":"object","properties":{"min":{"type":"integer","minimum":0,"maximum":50}},"required":["min"]},"bathrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0,"maximum":50}},"required":["min"]},"amenities":{"minItems":1,"type":"array","items":{"type":"string","enum":["wifi","kitchen","washer","dryer","airConditioning","heating","workspace","tv","hairDryer","iron","pool","hotTub","freeParking","evCharger","crib","gym","bbqGrill","breakfast","fireplace","smokingAllowed","smokeAlarm","carbonMonoxideAlarm","selfCheckIn"]}},"superhost":{"type":"boolean"},"instantBook":{"type":"boolean"},"guestFavorite":{"type":"boolean"},"limit":{"default":18,"type":"integer","minimum":1,"maximum":270},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,7})?|(?:\\d{1,7}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["location"],"additionalProperties":false},"example":{"location":"Lisbon, Portugal"}},{"id":"airbnb.listing","title":"Listing","summary":"Get a listing's details, amenities and host","method":"POST","path":"/v1/airbnb/listing","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"listing":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["listing"],"additionalProperties":false},"example":null},{"id":"airbnb.calendar","title":"Calendar","summary":"Get a listing's available dates","method":"POST","path":"/v1/airbnb/calendar","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"listing":{"type":"string"},"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"},"months":{"default":3,"type":"integer","minimum":1,"maximum":12},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["listing"],"additionalProperties":false},"example":null},{"id":"airbnb.reviews","title":"Reviews","summary":"Get a listing's reviews","method":"POST","path":"/v1/airbnb/reviews","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"listing":{"type":"string"},"sort":{"default":"newest","type":"string","enum":["relevance","newest","highest","lowest"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["listing"],"additionalProperties":false},"example":null},{"id":"redfin.search","title":"Search","summary":"Search Redfin homes for sale or sold","method":"POST","path":"/v1/redfin/search","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"status":{"default":"forSale","type":"string","enum":["forSale","sold"]},"soldWithin":{"default":"threeMonths","type":"string","enum":["week","month","threeMonths","sixMonths","year","twoYears","threeYears","fiveYears"]},"sort":{"default":"relevance","type":"string","enum":["relevance","newest","priceLow","priceHigh","sqft","pricePerSqft"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bedrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bathrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0,"maximum":10}},"required":["min"]},"homeTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["house","condo","townhouse","multiFamily","land","other","manufactured","coop"]}},"sqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"lotSqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"yearBuilt":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"daysOnMarket":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"limit":{"default":40,"type":"integer","minimum":1,"maximum":350},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["location"],"additionalProperties":false},"example":{"location":"Seattle, WA"}},{"id":"redfin.property","title":"Property","summary":"Get a home's details and estimate","method":"POST","path":"/v1/redfin/property","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"property":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["property"],"additionalProperties":false},"example":null},{"id":"realtor.search","title":"Search","summary":"Search Realtor.com homes for sale or sold","method":"POST","path":"/v1/realtor/search","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"status":{"default":"forSale","type":"string","enum":["forSale","forRent","sold","pending"]},"soldWithin":{"default":"threeMonths","type":"string","enum":["week","month","threeMonths","sixMonths","year","twoYears","threeYears","fiveYears"]},"sort":{"type":"string","enum":["relevance","newest","priceLow","priceHigh","sqft","recentlySold"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bedrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bathrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"sqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"lotSqft":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"yearBuilt":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"hoa":{"type":"object","properties":{"max":{"type":"number","minimum":0}},"required":["max"]},"homeTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["house","condo","townhouse","multiFamily","duplex","apartment","mobile","land","farm"]}},"newConstruction":{"type":"boolean"},"foreclosure":{"type":"boolean"},"queries":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":60}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["location"],"additionalProperties":false},"example":{"location":"Denver, CO"}},{"id":"realtor.property","title":"Property","summary":"Get a home's details and price","method":"POST","path":"/v1/realtor/property","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"property":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["property"],"additionalProperties":false},"example":null},{"id":"rightmove.search","title":"Search","summary":"Search UK homes for sale or rent","method":"POST","path":"/v1/rightmove/search","credits":1,"keyless":false,"perItems":24,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"status":{"default":"forSale","type":"string","enum":["forSale","forRent"]},"sort":{"default":"newest","type":"string","enum":["newest","oldest","priceHigh","priceLow"]},"radiusKm":{"type":"number","minimum":0,"maximum":65},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"bedrooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"propertyTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["detached","semiDetached","terraced","flat","bungalow","land","parkHome"]}},"mustHave":{"minItems":1,"type":"array","items":{"type":"string","enum":["garden","parking","newHome","retirement","sharedOwnership","auction"]}},"within":{"default":"all","type":"string","enum":["day","threeDays","week","twoWeeks","all"]},"includeUnderOffer":{"default":false,"type":"boolean"},"queries":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":60}},"limit":{"default":24,"type":"integer","minimum":1,"maximum":240},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,3})?|(?:\\d{1,3}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["location"],"additionalProperties":false},"example":{"location":"Manchester"}},{"id":"rightmove.property","title":"Property","summary":"Get a Rightmove property's details","method":"POST","path":"/v1/rightmove/property","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"property":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["property"],"additionalProperties":false},"example":null},{"id":"immoscout.search","title":"Search","summary":"Search German homes for rent or sale","method":"POST","path":"/v1/immoscout/search","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"location":{"type":"string","minLength":2,"maxLength":200},"type":{"default":"apartmentRent","type":"string","enum":["apartmentRent","apartmentBuy","houseRent","houseBuy","land","flatShare","shortTerm"]},"sort":{"default":"newest","type":"string","enum":["newest","priceLow","priceHigh","largest"]},"price":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"rooms":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"livingSpace":{"type":"object","properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"equipment":{"minItems":1,"type":"array","items":{"type":"string","enum":["balcony","builtInKitchen","garden","cellar","parking","lift","stepFree","guestToilet"]}},"newConstruction":{"type":"boolean"},"query":{"type":"string","minLength":1,"maxLength":100},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[1-9]\\d{0,4})?|(?:[1-9]\\d{0,4}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["location"],"additionalProperties":false},"example":{"location":"Berlin"}},{"id":"immoscout.listing","title":"Listing","summary":"Get an ImmoScout listing's details","method":"POST","path":"/v1/immoscout/listing","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"listing":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["listing"],"additionalProperties":false},"example":null},{"id":"pinterest.search","title":"Search","summary":"Search pins","method":"POST","path":"/v1/pinterest/search","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"type":{"default":"pins","type":"string","enum":["pins","videos"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w+/=|-]{8,4096})?|(?:[\\w+/=|-]{8,4096}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"kitchen ideas","limit":25}},{"id":"pinterest.pin","title":"Pin","summary":"Get a pin's details","method":"POST","path":"/v1/pinterest/pin","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"pin":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["pin"],"additionalProperties":false},"example":null},{"id":"pinterest.board","title":"Board","summary":"Get a board and its pins","method":"POST","path":"/v1/pinterest/board","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"board":{"type":"string"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w+/=|-]{8,4096})?|(?:[\\w+/=|-]{8,4096}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["board"],"additionalProperties":false},"example":null},{"id":"pinterest.user","title":"User","summary":"Get a profile and its pins","method":"POST","path":"/v1/pinterest/user","credits":1,"keyless":false,"perItems":25,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"user":{"type":"string"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":500},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w+/=|-]{8,4096})?|(?:[\\w+/=|-]{8,4096}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"marthastewart","limit":25}},{"id":"pinterest.ads.search","title":"Search ads","summary":"Search ads in the Pinterest ads library","method":"POST","path":"/v1/pinterest/ads/search","credits":1,"keyless":false,"perItems":24,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."},"advertiser":{"type":"string","minLength":1,"maxLength":200},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":24,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w+/=|-]{8,4096})?|(?:[\\w+/=|-]{8,4096}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["country"],"additionalProperties":false},"example":{"country":"DE"}},{"id":"pinterest.ads.ad","title":"Ad","summary":"Get a Pinterest ad's details","method":"POST","path":"/v1/pinterest/ads/ad","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"ad":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"x.tweet","title":"Post","summary":"Get a post's text, author and stats","method":"POST","path":"/v1/x/tweet","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"tweet":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["tweet"],"additionalProperties":false},"example":{"tweet":"https://x.com/jack/status/20"}},{"id":"kick.channel","title":"Channel","summary":"Get a channel's info and stats","method":"POST","path":"/v1/kick/channel","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"channel":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"xqc"}},{"id":"kick.videos","title":"Videos","summary":"Get a channel's past streams","method":"POST","path":"/v1/kick/videos","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"channel":{"type":"string"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":25},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"xqc"}},{"id":"kick.clips","title":"Clips","summary":"Get a channel's clips","method":"POST","path":"/v1/kick/clips","credits":1,"keyless":false,"perItems":20,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"channel":{"type":"string"},"sort":{"default":"top","type":"string","enum":["top","newest"]},"within":{"default":"all","type":"string","enum":["day","week","month","all"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w-]{2,400})?|(?:[\\w-]{2,400}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["channel"],"additionalProperties":false},"example":{"channel":"xqc","limit":20}},{"id":"finance.quote","title":"Quotes","summary":"Get live stock and ETF quotes","method":"POST","path":"/v1/finance/quote","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":60,"input":{"type":"object","properties":{"symbols":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","pattern":"^[\\w.^=-]{1,20}$"}},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 60. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":60},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["symbols"],"additionalProperties":false},"example":{"symbols":["AAPL","MSFT","NVDA"]}},{"id":"finance.history","title":"Price history","summary":"Get a stock's price history","method":"POST","path":"/v1/finance/history","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":300,"input":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[\\w.^=-]{1,20}$"},"within":{"type":"string","enum":["day","fiveDays","month","threeMonths","sixMonths","year","twoYears","fiveYears","tenYears","yearToDate","all"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"interval":{"default":"day","type":"string","enum":["minute","twoMinutes","fiveMinutes","fifteenMinutes","thirtyMinutes","hour","ninetyMinutes","day","fiveDays","week","month","threeMonths"]},"includeExtendedHours":{"default":false,"type":"boolean"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 300. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":300},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["symbol"],"additionalProperties":false},"example":{"symbol":"AAPL","within":"month"}},{"id":"finance.search","title":"Search","summary":"Search stocks and related news","method":"POST","path":"/v1/finance/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":100},"quotesLimit":{"default":10,"type":"integer","minimum":0,"maximum":20},"newsLimit":{"default":5,"type":"integer","minimum":0,"maximum":20},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"tesla"}},{"id":"finance.profile","title":"Profile","summary":"Get a company's profile and key stats","method":"POST","path":"/v1/finance/profile","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":900,"input":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[\\w.^=-]{1,20}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 900. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":900},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["symbol"],"additionalProperties":false},"example":{"symbol":"AAPL"}},{"id":"microsoft.ads.search","title":"Search ads","summary":"Search ads in the Microsoft ads library","method":"POST","path":"/v1/microsoft/ads/search","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"advertiser":{"type":"string","pattern":"^\\d{1,20}$"},"countries":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country code, e.g. us. Any case is accepted."}},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":24,"type":"integer","minimum":1,"maximum":24},"cursor":{"type":"string","pattern":"^\\d{1,3}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"additionalProperties":false},"example":{"query":"shoes","limit":24}},{"id":"microsoft.ads.ad","title":"Ad","summary":"Get a Microsoft ad's details","method":"POST","path":"/v1/microsoft/ads/ad","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"ad":{"type":"string","pattern":"^\\d{1,20}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"microsoft.ads.advertisers","title":"Advertisers","summary":"Find advertisers in the Microsoft ads library","method":"POST","path":"/v1/microsoft/ads/advertisers","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":86400,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"default":10,"type":"integer","minimum":1,"maximum":24},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 86400. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":86400},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"nike"}},{"id":"snapchat.profile","title":"Profile","summary":"Get a profile with its spotlights and stories","method":"POST","path":"/v1/snapchat/profile","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"user":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["user"],"additionalProperties":false},"example":{"user":"khaby.lame"}},{"id":"snapchat.ads.search","title":"Search ads","summary":"Search ads in the Snapchat ads library","method":"POST","path":"/v1/snapchat/ads/search","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"advertiser":{"type":"string","minLength":1,"maxLength":200},"countries":{"minItems":1,"maxItems":27,"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["active","paused"]},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":10,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^\\d{1,7}$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["advertiser"],"additionalProperties":false},"example":{"advertiser":"Nike"}},{"id":"snapchat.ads.ad","title":"Ad","summary":"Get a Snapchat ad's details","method":"POST","path":"/v1/snapchat/ads/ad","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"ad":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["ad"],"additionalProperties":false},"example":null},{"id":"tumblr.blog","title":"Blog","summary":"Get a blog's info","method":"POST","path":"/v1/tumblr/blog","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"blog":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["blog"],"additionalProperties":false},"example":{"blog":"staff"}},{"id":"tumblr.posts","title":"Posts","summary":"Get a blog's posts","method":"POST","path":"/v1/tumblr/posts","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"blog":{"type":"string"},"tag":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["text","photo","quote","link","chat","audio","video","answer"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":200},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:\\d{1,7})?|(?:\\d{1,7}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["blog"],"additionalProperties":false},"example":{"blog":"staff","limit":20}},{"id":"tumblr.post","title":"Post","summary":"Get a single post","method":"POST","path":"/v1/tumblr/post","credits":1,"keyless":false,"perItems":null,"cacheTtlSeconds":3600,"input":{"type":"object","properties":{"post":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 3600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":3600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["post"],"additionalProperties":false},"example":null},{"id":"tumblr.search","title":"Search","summary":"Search Tumblr posts","method":"POST","path":"/v1/tumblr/search","credits":1,"keyless":false,"perItems":10,"cacheTtlSeconds":1800,"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"sort":{"default":"top","type":"string","enum":["top","newest"]},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","pattern":"^(?:\\d{1,4}~(?:[\\w.=-]{4,200})?|(?:[\\w.=-]{4,200}))$"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 1800. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":1800},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["query"],"additionalProperties":false},"example":{"query":"photography"}},{"id":"quora.question","title":"Question","summary":"Get a question and its answers","method":"POST","path":"/v1/quora/question","credits":2,"keyless":false,"perItems":null,"cacheTtlSeconds":21600,"input":{"type":"object","properties":{"question":{"type":"string"},"maxAge":{"description":"Use a cached result up to this many seconds old, from 0 to 21600. 0 fetches live and skips the cache read, but still caches the fresh result. Omit it to use the endpoint's normal cached result.","type":"integer","minimum":0,"maximum":21600},"tags":{"description":"Up to 10 tags to label this request. Each tag is 1-50 characters: letters, numbers, -, _, ., or :. Filter GET /v1/logs and GET /v1/usage by tag. Stophy stores tags with the request but never sends them to the source.","maxItems":10,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,50}$"}}},"required":["question"],"additionalProperties":false},"example":{"question":"https://www.quora.com/What-is-the-best-way-to-learn-programming"}}]}