{"openapi":"3.1.0","info":{"title":"App Store & Google Play Reviews, App Details & Top Charts API","version":"1.0.0","description":"Apple App Store and Google Play data in one API. Apple, from Apple's official public feeds and iTunes API: customer reviews (up to 500 per app and country, sorted and filtered), full app details (rating, rating count, price, version, release notes, size, genres, screenshots, developer) and the top charts (free, paid, grossing, new) per country, device and category, up to rank 100. Google Play (under /appstore/play/): app details (rating, ratings count, histogram, installs range, price, genre, last update, version, content rating, description, screenshots), reviews (newest or most relevant, any language and country, star filter, up to 500 per call with a page token to continue) and app search. Reviews include only the reviewer's public display name.\n\nAll endpoints accept GET (query string) or POST (JSON body). Errors use one shape: `{\"success\": false, \"error\": {\"code\", \"message\", \"retryable\"}}`. When a numeric `Retry-After` header is present, `error.retryAfterSeconds` is included.","contact":{"name":"TidyTools","url":"https://apify.com/tidytools"}},"servers":[{"url":"https://webcapture-api.yukailin.workers.dev","description":"Origin (reachable only through the marketplace gateway)"}],"tags":[{"name":"App Store"}],"paths":{"/api/v1/appstore/reviews":{"get":{"operationId":"appReviewsGet","summary":"Get App Store reviews of an app (GET)","description":"Reads Apple's customer-reviews feed (the newest 500 written reviews per country, 50 per page) with retries for Apple's empty and rate-limited pages, then sorts and filters.","tags":["App Store"],"parameters":[{"name":"app","schema":{"type":"string"},"description":"App Store URL (`https://apps.apple.com/us/app/instagram/id389801252`), numeric app id (`389801252`), bundle id (`com.burbn.instagram`) or an app name to search. Aliases: `id`, `appId`, `url`, `bundleId`.","required":true,"example":"389801252","in":"query"},{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`.","required":false,"example":"us","in":"query"},{"name":"sort","schema":{"type":"string","default":"mostRecent","enum":["mostRecent","mostHelpful","lowestRating","highestRating","oldest"]},"description":"Order of the reviews returned.","required":false,"in":"query"},{"name":"limit","schema":{"type":"integer","default":100,"minimum":1,"maximum":500},"description":"Maximum reviews returned.","required":false,"in":"query"},{"name":"minRating","schema":{"type":"integer","default":1,"minimum":1,"maximum":5},"description":"Only reviews with at least this many stars.","required":false,"in":"query"},{"name":"maxRating","schema":{"type":"integer","default":5,"minimum":1,"maximum":5},"description":"Only reviews with at most this many stars.","required":false,"in":"query"},{"name":"since","schema":{"type":"string"},"description":"Only reviews since a date (`2026-09-01`) or a period (`30 days`, `2 weeks`).","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"appId":{"type":"string"},"appName":{"type":"string"},"country":{"type":"string"},"sort":{"type":"string"},"averageRating":{"type":"number"},"ratingCount":{"type":"integer"},"reviewsFetched":{"type":"integer"},"matched":{"type":"integer"},"returned":{"type":"integer"},"ratingHistogramOfFetched":{"type":"object","properties":{"1":{"type":"integer"},"2":{"type":"integer"},"3":{"type":"integer"},"4":{"type":"integer"},"5":{"type":"integer"}}},"pagesRead":{"type":"integer"},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewId":{"type":"string"},"appId":{"type":"string"},"country":{"type":"string"},"rating":{"type":"integer"},"title":{"type":"string"},"text":{"type":"string"},"version":{"type":"string"},"author":{"type":"string"},"date":{"type":"string"},"helpfulVotes":{"type":"integer"},"totalVotes":{"type":"integer"}}}},"notes":{"type":"array","items":{"type":"string"}}}},"example":{"success":true,"appId":"389801252","appName":"Instagram","country":"us","sort":"mostRecent","averageRating":4.691,"ratingCount":29542424,"reviewsFetched":50,"matched":50,"returned":3,"ratingHistogramOfFetched":{"1":25,"2":3,"3":4,"4":0,"5":18},"pagesRead":1,"reviews":[{"reviewId":"14603227178","appId":"389801252","country":"us","rating":1,"title":"wtf","text":"And it’s not just happening too me either and I got screenshots too prove it too","version":"448.0.0","author":"activebutler2.0","date":"2026-09-28T12:41:04.000Z","helpfulVotes":0,"totalVotes":0},{"reviewId":"14603173973","appId":"389801252","country":"us","rating":3,"title":"Fallas","text":"Instagram es la mejor app que eh probado pero últimamente se la vive dando problemas quita las instantáneas sin razón algún quita el poder comentar en alguna vistos quita los comentarios de tus historias es un asco","version":"448.0.0","author":"Kristal gtz","date":"2026-09-28T12:24:05.000Z","helpfulVotes":0,"totalVotes":0},{"reviewId":"14603072940","appId":"389801252","country":"us","rating":5,"title":"State of Art work","text":"Great job super TEAM! The garage looks outstanding…. I cannot wait to get done the back yard!","version":"448.0.0","author":"Manny 1278","date":"2026-09-28T11:50:40.000Z","helpfulVotes":0,"totalVotes":0}],"notes":["Apple's public reviews feed serves the latest 500 written reviews per country (10 pages of 50)."]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"The app does not exist in that country's App Store (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No app with id 123456789 in the US App Store.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"appReviews","summary":"Get App Store reviews of an app","description":"Reads Apple's customer-reviews feed (the newest 500 written reviews per country, 50 per page) with retries for Apple's empty and rate-limited pages, then sorts and filters.\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"string","description":"App Store URL (`https://apps.apple.com/us/app/instagram/id389801252`), numeric app id (`389801252`), bundle id (`com.burbn.instagram`) or an app name to search. Aliases: `id`, `appId`, `url`, `bundleId`."},"country":{"type":"string","default":"us","description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`."},"sort":{"type":"string","default":"mostRecent","enum":["mostRecent","mostHelpful","lowestRating","highestRating","oldest"],"description":"Order of the reviews returned."},"limit":{"type":"integer","default":100,"minimum":1,"maximum":500,"description":"Maximum reviews returned."},"minRating":{"type":"integer","default":1,"minimum":1,"maximum":5,"description":"Only reviews with at least this many stars."},"maxRating":{"type":"integer","default":5,"minimum":1,"maximum":5,"description":"Only reviews with at most this many stars."},"since":{"type":"string","description":"Only reviews since a date (`2026-09-01`) or a period (`30 days`, `2 weeks`)."}},"required":["app"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"appId":{"type":"string"},"appName":{"type":"string"},"country":{"type":"string"},"sort":{"type":"string"},"averageRating":{"type":"number"},"ratingCount":{"type":"integer"},"reviewsFetched":{"type":"integer"},"matched":{"type":"integer"},"returned":{"type":"integer"},"ratingHistogramOfFetched":{"type":"object","properties":{"1":{"type":"integer"},"2":{"type":"integer"},"3":{"type":"integer"},"4":{"type":"integer"},"5":{"type":"integer"}}},"pagesRead":{"type":"integer"},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewId":{"type":"string"},"appId":{"type":"string"},"country":{"type":"string"},"rating":{"type":"integer"},"title":{"type":"string"},"text":{"type":"string"},"version":{"type":"string"},"author":{"type":"string"},"date":{"type":"string"},"helpfulVotes":{"type":"integer"},"totalVotes":{"type":"integer"}}}},"notes":{"type":"array","items":{"type":"string"}}}},"example":{"success":true,"appId":"389801252","appName":"Instagram","country":"us","sort":"mostRecent","averageRating":4.691,"ratingCount":29542424,"reviewsFetched":50,"matched":50,"returned":3,"ratingHistogramOfFetched":{"1":25,"2":3,"3":4,"4":0,"5":18},"pagesRead":1,"reviews":[{"reviewId":"14603227178","appId":"389801252","country":"us","rating":1,"title":"wtf","text":"And it’s not just happening too me either and I got screenshots too prove it too","version":"448.0.0","author":"activebutler2.0","date":"2026-09-28T12:41:04.000Z","helpfulVotes":0,"totalVotes":0},{"reviewId":"14603173973","appId":"389801252","country":"us","rating":3,"title":"Fallas","text":"Instagram es la mejor app que eh probado pero últimamente se la vive dando problemas quita las instantáneas sin razón algún quita el poder comentar en alguna vistos quita los comentarios de tus historias es un asco","version":"448.0.0","author":"Kristal gtz","date":"2026-09-28T12:24:05.000Z","helpfulVotes":0,"totalVotes":0},{"reviewId":"14603072940","appId":"389801252","country":"us","rating":5,"title":"State of Art work","text":"Great job super TEAM! The garage looks outstanding…. I cannot wait to get done the back yard!","version":"448.0.0","author":"Manny 1278","date":"2026-09-28T11:50:40.000Z","helpfulVotes":0,"totalVotes":0}],"notes":["Apple's public reviews feed serves the latest 500 written reviews per country (10 pages of 50)."]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"The app does not exist in that country's App Store (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No app with id 123456789 in the US App Store.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/appstore/app":{"get":{"operationId":"appDetailsGet","summary":"Get App Store app details (GET)","description":"Full details of one app in one storefront from Apple's Lookup API (or the top search result for a name).","tags":["App Store"],"parameters":[{"name":"app","schema":{"type":"string"},"description":"App Store URL (`https://apps.apple.com/us/app/instagram/id389801252`), numeric app id (`389801252`), bundle id (`com.burbn.instagram`) or an app name to search. Aliases: `id`, `appId`, `url`, `bundleId`.","required":true,"example":"389801252","in":"query"},{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`.","required":false,"example":"us","in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"matchedBy":{"type":"string"},"appId":{"type":"string"},"bundleId":{"type":"string"},"appName":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"seller":{"type":"string"},"sellerWebsite":{"type":"string"},"country":{"type":"string"},"price":{"type":"integer"},"currency":{"type":"string"},"formattedPrice":{"type":"string"},"averageRating":{"type":"number"},"ratingCount":{"type":"integer"},"averageRatingCurrentVersion":{"type":"number"},"ratingCountCurrentVersion":{"type":"integer"},"version":{"type":"string"},"currentVersionReleaseDate":{"type":"string"},"releaseNotes":{"type":"string"},"releaseDate":{"type":"string"},"description":{"type":"string"},"primaryGenre":{"type":"string"},"genres":{"type":"array","items":{"type":"string"}},"contentRating":{"type":"string"},"advisories":{"type":"array","items":{"type":"string"}},"minimumOsVersion":{"type":"string"},"fileSizeBytes":{"type":"integer"},"fileSizeMB":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"supportedDevicesCount":{"type":"integer"},"features":{"type":"array","items":{"type":"string"}},"isGameCenterEnabled":{"type":"boolean"},"iconUrl":{"type":"string"},"screenshotUrls":{"type":"array","items":{"type":"string"}},"ipadScreenshotUrls":{"type":"array","items":{"type":"string"}},"appUrl":{"type":"string"}}},"example":{"success":true,"matchedBy":"id","appId":"389801252","bundleId":"com.burbn.instagram","appName":"Instagram","developer":"Instagram, Inc.","developerId":"389801255","developerUrl":"https://apps.apple.com/us/developer/instagram-inc/id389801255","seller":"Instagram, Inc.","sellerWebsite":"http://instagram.com/","country":"us","price":0,"currency":"USD","formattedPrice":"Free","averageRating":4.691,"ratingCount":29542424,"averageRatingCurrentVersion":4.691,"ratingCountCurrentVersion":29542424,"version":"448.0.0","currentVersionReleaseDate":"2026-09-21T15:59:55Z","releaseNotes":"Performance optimizations and stability improvements for a smoother, more reliable experience.","releaseDate":"2010-10-06T08:12:41Z","description":"Little moments lead to big friendships. Share yours on Instagram. \n— From Meta\n\nConnect with friends, find other fans, and see what people around you are up to and into. Explore your interests and post what's going on, from your daily moments to life's highlights.\n\nShare what you’re up to and into:\n…","primaryGenre":"Photo & Video","genres":["Photo & Video","Social Networking"],"contentRating":"12+","advisories":["Infrequent/Mild Alcohol, Tobacco, or Drug Use or References","Infrequent/Mild Sexual Content and Nudity","Infrequent/Mild Mature/Suggestive Themes","Infrequent/Mild Profanity or Crude Humor"],"minimumOsVersion":"16.3","fileSizeBytes":611172352,"fileSizeMB":582.9,"languages":["BN","HR","CS","DA"],"supportedDevicesCount":130,"features":["iosUniversal"],"isGameCenterEnabled":false,"iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/f5/7f/2c/f57f2c00-2dff-4704-501b-ab6849c6277d/Prod-0-0-1x_U007epad-0-1-0-sRGB-85-220.png/512x512bb.jpg","screenshotUrls":["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/50/e2/8b/50e28b44-daa5-7101-6fb6-2d0e10fc72f3/1_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/4d/a5/33/4da53369-3dce-b9b4-2a0c-1c6957dd40c4/1_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/10/38/e1/1038e1c7-751f-c4ea-39b9-d9f4d08fc08d/2_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/d4/d0/6d/d4d06d20-f442-2b7c-8a4e-24d427542910/3_iOS_5.5.jpg/392x696bb.jpg"],"ipadScreenshotUrls":["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/76/04/4d/76044de8-e420-2e6b-cea4-60821fb85156/10.5__Following_tab.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/33/ab/20/33ab20cf-dddf-ac3b-8634-e98ccffeb900/10.5__Home.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/4c/d2/f3/4cd2f36d-bbbc-cf0d-241e-7e434b95d7db/10.5__Reels_comments.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/cb/12/39/cb1239f9-f46d-ad59-e7e1-f83e617e3f95/10.5__Stories.png/360x480bb.jpg"],"appUrl":"https://apps.apple.com/us/app/instagram/id389801252"}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"The app does not exist in that country's App Store (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No app with id 123456789 in the US App Store.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"appDetails","summary":"Get App Store app details","description":"Full details of one app in one storefront from Apple's Lookup API (or the top search result for a name).\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"string","description":"App Store URL (`https://apps.apple.com/us/app/instagram/id389801252`), numeric app id (`389801252`), bundle id (`com.burbn.instagram`) or an app name to search. Aliases: `id`, `appId`, `url`, `bundleId`."},"country":{"type":"string","default":"us","description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`."}},"required":["app"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"matchedBy":{"type":"string"},"appId":{"type":"string"},"bundleId":{"type":"string"},"appName":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"seller":{"type":"string"},"sellerWebsite":{"type":"string"},"country":{"type":"string"},"price":{"type":"integer"},"currency":{"type":"string"},"formattedPrice":{"type":"string"},"averageRating":{"type":"number"},"ratingCount":{"type":"integer"},"averageRatingCurrentVersion":{"type":"number"},"ratingCountCurrentVersion":{"type":"integer"},"version":{"type":"string"},"currentVersionReleaseDate":{"type":"string"},"releaseNotes":{"type":"string"},"releaseDate":{"type":"string"},"description":{"type":"string"},"primaryGenre":{"type":"string"},"genres":{"type":"array","items":{"type":"string"}},"contentRating":{"type":"string"},"advisories":{"type":"array","items":{"type":"string"}},"minimumOsVersion":{"type":"string"},"fileSizeBytes":{"type":"integer"},"fileSizeMB":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"supportedDevicesCount":{"type":"integer"},"features":{"type":"array","items":{"type":"string"}},"isGameCenterEnabled":{"type":"boolean"},"iconUrl":{"type":"string"},"screenshotUrls":{"type":"array","items":{"type":"string"}},"ipadScreenshotUrls":{"type":"array","items":{"type":"string"}},"appUrl":{"type":"string"}}},"example":{"success":true,"matchedBy":"id","appId":"389801252","bundleId":"com.burbn.instagram","appName":"Instagram","developer":"Instagram, Inc.","developerId":"389801255","developerUrl":"https://apps.apple.com/us/developer/instagram-inc/id389801255","seller":"Instagram, Inc.","sellerWebsite":"http://instagram.com/","country":"us","price":0,"currency":"USD","formattedPrice":"Free","averageRating":4.691,"ratingCount":29542424,"averageRatingCurrentVersion":4.691,"ratingCountCurrentVersion":29542424,"version":"448.0.0","currentVersionReleaseDate":"2026-09-21T15:59:55Z","releaseNotes":"Performance optimizations and stability improvements for a smoother, more reliable experience.","releaseDate":"2010-10-06T08:12:41Z","description":"Little moments lead to big friendships. Share yours on Instagram. \n— From Meta\n\nConnect with friends, find other fans, and see what people around you are up to and into. Explore your interests and post what's going on, from your daily moments to life's highlights.\n\nShare what you’re up to and into:\n…","primaryGenre":"Photo & Video","genres":["Photo & Video","Social Networking"],"contentRating":"12+","advisories":["Infrequent/Mild Alcohol, Tobacco, or Drug Use or References","Infrequent/Mild Sexual Content and Nudity","Infrequent/Mild Mature/Suggestive Themes","Infrequent/Mild Profanity or Crude Humor"],"minimumOsVersion":"16.3","fileSizeBytes":611172352,"fileSizeMB":582.9,"languages":["BN","HR","CS","DA"],"supportedDevicesCount":130,"features":["iosUniversal"],"isGameCenterEnabled":false,"iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/f5/7f/2c/f57f2c00-2dff-4704-501b-ab6849c6277d/Prod-0-0-1x_U007epad-0-1-0-sRGB-85-220.png/512x512bb.jpg","screenshotUrls":["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/50/e2/8b/50e28b44-daa5-7101-6fb6-2d0e10fc72f3/1_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/4d/a5/33/4da53369-3dce-b9b4-2a0c-1c6957dd40c4/1_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/10/38/e1/1038e1c7-751f-c4ea-39b9-d9f4d08fc08d/2_iOS_5.5.jpg/392x696bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/d4/d0/6d/d4d06d20-f442-2b7c-8a4e-24d427542910/3_iOS_5.5.jpg/392x696bb.jpg"],"ipadScreenshotUrls":["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/76/04/4d/76044de8-e420-2e6b-cea4-60821fb85156/10.5__Following_tab.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/33/ab/20/33ab20cf-dddf-ac3b-8634-e98ccffeb900/10.5__Home.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/4c/d2/f3/4cd2f36d-bbbc-cf0d-241e-7e434b95d7db/10.5__Reels_comments.png/360x480bb.jpg","https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/cb/12/39/cb1239f9-f46d-ad59-e7e1-f83e617e3f95/10.5__Stories.png/360x480bb.jpg"],"appUrl":"https://apps.apple.com/us/app/instagram/id389801252"}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"The app does not exist in that country's App Store (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No app with id 123456789 in the US App Store.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/appstore/charts":{"get":{"operationId":"appChartsGet","summary":"Get App Store top charts (GET)","description":"Apple's top charts for a country, device and category, up to rank 100 (Apple's limit).","tags":["App Store"],"parameters":[{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`.","required":false,"example":"us","in":"query"},{"name":"chart","schema":{"type":"string","default":"topfree","enum":["topfree","toppaid","topgrossing","newapps","newfree","newpaid"]},"description":"Chart. `new*` charts exist for iPhone only; Mac has `topfree` only.","required":false,"in":"query"},{"name":"device","schema":{"type":"string","default":"iphone","enum":["iphone","ipad","mac"]},"description":"Device.","required":false,"in":"query"},{"name":"category","schema":{"type":"string"},"description":"App Store category: a name (`Productivity`, `Games: Puzzle`) or genre id (`6007`). Default: all categories.","required":false,"in":"query"},{"name":"limit","schema":{"type":"integer","default":100,"minimum":1,"maximum":100},"description":"Number of ranks.","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"country":{"type":"string"},"chart":{"type":"string"},"chartTitle":{"type":"string"},"device":{"type":"string"},"category":{"type":"string","nullable":true},"updatedAt":{"type":"string"},"count":{"type":"integer"},"entries":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"id":{"type":"string"},"bundleId":{"type":"string"},"name":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"price":{"type":"integer"},"currency":{"type":"string"},"priceLabel":{"type":"string"},"category":{"type":"string"},"categoryId":{"type":"string"},"releaseDate":{"type":"string"},"url":{"type":"string"},"iconUrl":{"type":"string"},"summary":{"type":"string"}}}}}},"example":{"success":true,"country":"us","chart":"topfree","chartTitle":"Top Free","device":"iphone","category":null,"updatedAt":"2026-09-30T15:43:58.000Z","count":5,"entries":[{"rank":1,"id":"6760173601","bundleId":"com.facebook.hatch","name":"Muse from Meta","developer":"Meta Platforms, Inc.","developerId":"284882218","developerUrl":"https://apps.apple.com/us/developer/meta-platforms-inc/id284882218","price":0,"currency":"USD","priceLabel":"Get","category":"Productivity","categoryId":"6007","releaseDate":"2026-09-08T07:00:00.000Z","url":"https://apps.apple.com/us/app/muse-from-meta/id6760173601","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/73/72/9b/73729ba4-8f07-dabc-9e4c-07ee3d667630/HatchAppIconPublic-0-0-1x_U007ephone-0-1-0-sRGB-0-85-220.png/512x512bb.png","summary":"Muse is your personal AI agent that gets things done, always working on what matters to you. It manages email, books dinners, tracks budgets, and finds deals, with your approval.\n\nPERSONAL PRODUCTIVITY\nMuse takes the the busywork off your plate. It manages scheduling conflicts, books reservations, s…"},{"rank":2,"id":"1631584032","bundleId":"com.theoremreach.WizardBucks","name":"PLAYFUL REWARDS: Earn Rewards","developer":"Playful Rewards","developerId":"1760190449","developerUrl":"https://apps.apple.com/us/developer/playful-rewards/id1760190449","price":0,"currency":"USD","priceLabel":"Get","category":"Entertainment","categoryId":"6016","releaseDate":"2023-09-26T07:00:00.000Z","url":"https://apps.apple.com/us/app/playful-rewards-earn-rewards/id1631584032","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/6c/09/d8/6c09d8b9-3464-3239-cd78-15290de4e156/AppIcon-0-0-1x_U007epad-0-11-85-220.jpeg/512x512bb.png","summary":"Meet Playful Rewards — Your Go-To App for Turning Free Time into Real Rewards!\n\nTurn your free time into real rewards with Playful Rewards! Shop your favorite brands, complete fun tasks, scan receipts, answer surveys, and test partner games — every activity gets you closer to earning gift cards and …"},{"rank":3,"id":"6448311069","bundleId":"com.openai.chat","name":"ChatGPT","developer":"OpenAI OpCo, LLC","developerId":"1684349733","developerUrl":"https://apps.apple.com/us/developer/openai-opco-llc/id1684349733","price":0,"currency":"USD","priceLabel":"Get","category":"Productivity","categoryId":"6007","releaseDate":"2023-05-18T07:00:00.000Z","url":"https://apps.apple.com/us/app/chatgpt/id6448311069","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/eb/c5/b3/ebc5b3a0-618f-6c84-492f-05d113191648/AppIcon-0-0-1x_U007epad-0-0-0-1-0-85-220.png/512x512bb.png","summary":"Introducing ChatGPT for iOS: OpenAI’s latest advancements at your fingertips.\n\nThis official app is free, syncs your history across devices, and brings you the latest from OpenAI, including the new image generator.\n\nWith ChatGPT in your pocket, you’ll find:\n\n· Image generation–Generate original imag…"},{"rank":4,"id":"632064380","bundleId":"lt.manodrabuziai.fr","name":"Vinted: Pre-loved marketplace","developer":"Vinted Limited","developerId":"554164035","developerUrl":"https://apps.apple.com/us/developer/vinted-limited/id554164035","price":0,"currency":"USD","priceLabel":"Get","category":"Shopping","categoryId":"6024","releaseDate":"2013-04-11T17:12:20.000Z","url":"https://apps.apple.com/us/app/vinted-pre-loved-marketplace/id632064380","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/12/65/df/1265df92-e360-3175-42ac-d539c2c4259d/VintedAppIcon-0-0-1x_U007epad-0-1-85-220.png/512x512bb.png","summary":"The idea is simple: you sell your pre-loved stuff to other members who’ll love it again. They get the thrill of unboxing a great find, you get more space at home. It's look-good, do-good, feel-good, for everyone. \n\nSelling is easy and free\nSnap photos of your item, describe it, and set your price. Y…"}]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"appCharts","summary":"Get App Store top charts","description":"Apple's top charts for a country, device and category, up to rank 100 (Apple's limit).\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","default":"us","description":"Two-letter App Store country (storefront). Default: the country in the App Store URL, else `us`."},"chart":{"type":"string","default":"topfree","enum":["topfree","toppaid","topgrossing","newapps","newfree","newpaid"],"description":"Chart. `new*` charts exist for iPhone only; Mac has `topfree` only."},"device":{"type":"string","default":"iphone","enum":["iphone","ipad","mac"],"description":"Device."},"category":{"type":"string","description":"App Store category: a name (`Productivity`, `Games: Puzzle`) or genre id (`6007`). Default: all categories."},"limit":{"type":"integer","default":100,"minimum":1,"maximum":100,"description":"Number of ranks."}}}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"country":{"type":"string"},"chart":{"type":"string"},"chartTitle":{"type":"string"},"device":{"type":"string"},"category":{"type":"string","nullable":true},"updatedAt":{"type":"string"},"count":{"type":"integer"},"entries":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"id":{"type":"string"},"bundleId":{"type":"string"},"name":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"price":{"type":"integer"},"currency":{"type":"string"},"priceLabel":{"type":"string"},"category":{"type":"string"},"categoryId":{"type":"string"},"releaseDate":{"type":"string"},"url":{"type":"string"},"iconUrl":{"type":"string"},"summary":{"type":"string"}}}}}},"example":{"success":true,"country":"us","chart":"topfree","chartTitle":"Top Free","device":"iphone","category":null,"updatedAt":"2026-09-30T15:43:58.000Z","count":5,"entries":[{"rank":1,"id":"6760173601","bundleId":"com.facebook.hatch","name":"Muse from Meta","developer":"Meta Platforms, Inc.","developerId":"284882218","developerUrl":"https://apps.apple.com/us/developer/meta-platforms-inc/id284882218","price":0,"currency":"USD","priceLabel":"Get","category":"Productivity","categoryId":"6007","releaseDate":"2026-09-08T07:00:00.000Z","url":"https://apps.apple.com/us/app/muse-from-meta/id6760173601","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/73/72/9b/73729ba4-8f07-dabc-9e4c-07ee3d667630/HatchAppIconPublic-0-0-1x_U007ephone-0-1-0-sRGB-0-85-220.png/512x512bb.png","summary":"Muse is your personal AI agent that gets things done, always working on what matters to you. It manages email, books dinners, tracks budgets, and finds deals, with your approval.\n\nPERSONAL PRODUCTIVITY\nMuse takes the the busywork off your plate. It manages scheduling conflicts, books reservations, s…"},{"rank":2,"id":"1631584032","bundleId":"com.theoremreach.WizardBucks","name":"PLAYFUL REWARDS: Earn Rewards","developer":"Playful Rewards","developerId":"1760190449","developerUrl":"https://apps.apple.com/us/developer/playful-rewards/id1760190449","price":0,"currency":"USD","priceLabel":"Get","category":"Entertainment","categoryId":"6016","releaseDate":"2023-09-26T07:00:00.000Z","url":"https://apps.apple.com/us/app/playful-rewards-earn-rewards/id1631584032","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/6c/09/d8/6c09d8b9-3464-3239-cd78-15290de4e156/AppIcon-0-0-1x_U007epad-0-11-85-220.jpeg/512x512bb.png","summary":"Meet Playful Rewards — Your Go-To App for Turning Free Time into Real Rewards!\n\nTurn your free time into real rewards with Playful Rewards! Shop your favorite brands, complete fun tasks, scan receipts, answer surveys, and test partner games — every activity gets you closer to earning gift cards and …"},{"rank":3,"id":"6448311069","bundleId":"com.openai.chat","name":"ChatGPT","developer":"OpenAI OpCo, LLC","developerId":"1684349733","developerUrl":"https://apps.apple.com/us/developer/openai-opco-llc/id1684349733","price":0,"currency":"USD","priceLabel":"Get","category":"Productivity","categoryId":"6007","releaseDate":"2023-05-18T07:00:00.000Z","url":"https://apps.apple.com/us/app/chatgpt/id6448311069","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/eb/c5/b3/ebc5b3a0-618f-6c84-492f-05d113191648/AppIcon-0-0-1x_U007epad-0-0-0-1-0-85-220.png/512x512bb.png","summary":"Introducing ChatGPT for iOS: OpenAI’s latest advancements at your fingertips.\n\nThis official app is free, syncs your history across devices, and brings you the latest from OpenAI, including the new image generator.\n\nWith ChatGPT in your pocket, you’ll find:\n\n· Image generation–Generate original imag…"},{"rank":4,"id":"632064380","bundleId":"lt.manodrabuziai.fr","name":"Vinted: Pre-loved marketplace","developer":"Vinted Limited","developerId":"554164035","developerUrl":"https://apps.apple.com/us/developer/vinted-limited/id554164035","price":0,"currency":"USD","priceLabel":"Get","category":"Shopping","categoryId":"6024","releaseDate":"2013-04-11T17:12:20.000Z","url":"https://apps.apple.com/us/app/vinted-pre-loved-marketplace/id632064380","iconUrl":"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/12/65/df/1265df92-e360-3175-42ac-d539c2c4259d/VintedAppIcon-0-0-1x_U007epad-0-1-85-220.png/512x512bb.png","summary":"The idea is simple: you sell your pre-loved stuff to other members who’ll love it again. They get the thrill of unboxing a great find, you get more space at home. It's look-good, do-good, feel-good, for everyone. \n\nSelling is easy and free\nSnap photos of your item, describe it, and set your price. Y…"}]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Apple is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/appstore/play/app":{"get":{"operationId":"playAppDetailsGet","summary":"Get Google Play app details (GET)","description":"Details of one Google Play app in one language and country: title, developer, rating, ratings and reviews count, star histogram, installs range, price and currency, in-app purchases, ads, genre and categories, release and last-update dates, version, minimum Android version, content rating, description, release notes, icon, screenshots and video.","tags":["App Store"],"parameters":[{"name":"app","schema":{"type":"string"},"description":"Google Play package name (`com.spotify.music`) or a Play Store app URL (`https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us`; its `hl` / `gl` are used when lang / country are not given). Aliases: `appId`, `id`, `url`.","required":true,"example":"com.spotify.music","in":"query"},{"name":"lang","schema":{"type":"string","default":"en"},"description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`.","required":false,"example":"en","in":"query"},{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`.","required":false,"example":"us","in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"appId":{"type":"string"},"url":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"developerWebsite":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"rating":{"type":"number"},"ratingText":{"type":"string"},"ratingsCount":{"type":"integer"},"reviewsCount":{"type":"integer"},"histogram":{"type":"object","properties":{"1":{"type":"integer"},"2":{"type":"integer"},"3":{"type":"integer"},"4":{"type":"integer"},"5":{"type":"integer"}}},"installs":{"type":"string"},"minInstalls":{"type":"integer"},"installsEstimate":{"type":"integer"},"free":{"type":"boolean"},"price":{"type":"integer"},"originalPrice":{"type":"string","nullable":true},"currency":{"type":"string"},"priceText":{"type":"string"},"offersInAppPurchases":{"type":"boolean"},"inAppPurchaseRange":{"type":"string"},"containsAds":{"type":"boolean"},"genre":{"type":"string"},"genreId":{"type":"string"},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}}}},"contentRating":{"type":"string"},"contentRatingDescription":{"type":"string"},"released":{"type":"string"},"updated":{"type":"string"},"version":{"type":"string"},"minAndroidVersion":{"type":"string"},"recentChanges":{"type":"string"},"description":{"type":"string"},"icon":{"type":"string"},"headerImage":{"type":"string"},"screenshots":{"type":"array","items":{"type":"string"}},"video":{"type":"string","nullable":true},"preregister":{"type":"boolean"},"earlyAccess":{"type":"boolean"}}},"example":{"success":true,"platform":"google-play","appId":"com.spotify.music","url":"https://play.google.com/store/apps/details?id=com.spotify.music","lang":"en","country":"us","title":"Spotify: Music and Podcasts","summary":"Listen to songs, play podcasts, create playlists and discover music you'll love","developer":"Spotify AB","developerId":"Spotify AB","developerUrl":"https://play.google.com/store/apps/developer?id=Spotify+AB","developerWebsite":"https://www.spotify.com","privacyPolicyUrl":"https://www.spotify.com/legal/privacy-policy/","rating":4.345,"ratingText":"4.3","ratingsCount":36407508,"reviewsCount":1854688,"histogram":{"1":3728978,"2":1069293,"3":1312714,"4":3101758,"5":27194749},"installs":"1,000,000,000+","minInstalls":1000000000,"installsEstimate":3139583483,"free":true,"price":0,"originalPrice":null,"currency":"USD","priceText":"Free","offersInAppPurchases":true,"inAppPurchaseRange":"$4.99 - $203.88 per item","containsAds":true,"genre":"Music & Audio","genreId":"MUSIC_AND_AUDIO","categories":[{"name":"Music & Audio","id":"MUSIC_AND_AUDIO"}],"contentRating":"Teen","contentRatingDescription":"In-App Purchases","released":"May 27, 2014","updated":"2026-09-29T14:38:09.733Z","version":"Varies with device","minAndroidVersion":"Varies with device","recentChanges":"We’re always making changes and improvements to Spotify. To make sure you don’t miss a thing, just keep your Updates turned on.","description":"With the Spotify music and podcast app, you can play millions of songs, albums and original podcasts for free. We have even added audiobooks, so you can enjoy thousands of stories wherever you are!\n\nStream music and podcasts, listen to audiobooks, discover albums, playlists or even single songs for …","icon":"https://play-lh.googleusercontent.com/IzQgYCcnCFCD08GR-3bdtcT8xzOvrNkC84avGT5CwTX2VIqmTmKKJcP_Cd4JoBOdmCMlTndlOzV6hrthg2fOWA","headerImage":"https://play-lh.googleusercontent.com/WdedaGD6EAXZgy88wZM97aIcenQ5Cqzu_IUWBMMalkZmVe2lhv_3YqIUh-6pFqLv27kZ44cQX3qxyZTXHH-S91Q","screenshots":["https://play-lh.googleusercontent.com/c1jnjL-9CIFlwlTMX3xNyeo8aEH39sNuC5zpTHhfW8keGxQE3TBMRX9Rm3VqM3E03Cyl9AqtnxuKvxJpcW0WCA","https://play-lh.googleusercontent.com/YxWsaNLSEBvLh04geMOADhSq6Ln5LmRrpa51ixZ7YkcEwmPQ-wdtnvoZDjVAgufbi2et0IlTVDAsvCCmlsJYnNA","https://play-lh.googleusercontent.com/RevDecVUzkc8iYhVazBoXb0O0Amy3_w6MNzzABHyAlyZjEYBq3xl-UxuxL5PGB6xTZpuxV7tET3pg1rp6weFWAY","https://play-lh.googleusercontent.com/o4GBjJkhX0aE6QZDjdmRdVSYGXD-EEUNfYLlYQOfiC09R86c70SksCNZClD-0J1tjcsrDNANXgr9j82-tGwiBnA"],"video":null,"preregister":false,"earlyAccess":false}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"No Google Play app with this package name is available in that country (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No Google Play app with package name com.example.missing is available in US.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"playAppDetails","summary":"Get Google Play app details","description":"Details of one Google Play app in one language and country: title, developer, rating, ratings and reviews count, star histogram, installs range, price and currency, in-app purchases, ads, genre and categories, release and last-update dates, version, minimum Android version, content rating, description, release notes, icon, screenshots and video.\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"string","description":"Google Play package name (`com.spotify.music`) or a Play Store app URL (`https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us`; its `hl` / `gl` are used when lang / country are not given). Aliases: `appId`, `id`, `url`."},"lang":{"type":"string","default":"en","description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`."},"country":{"type":"string","default":"us","description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`."}},"required":["app"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"appId":{"type":"string"},"url":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"developer":{"type":"string"},"developerId":{"type":"string"},"developerUrl":{"type":"string"},"developerWebsite":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"rating":{"type":"number"},"ratingText":{"type":"string"},"ratingsCount":{"type":"integer"},"reviewsCount":{"type":"integer"},"histogram":{"type":"object","properties":{"1":{"type":"integer"},"2":{"type":"integer"},"3":{"type":"integer"},"4":{"type":"integer"},"5":{"type":"integer"}}},"installs":{"type":"string"},"minInstalls":{"type":"integer"},"installsEstimate":{"type":"integer"},"free":{"type":"boolean"},"price":{"type":"integer"},"originalPrice":{"type":"string","nullable":true},"currency":{"type":"string"},"priceText":{"type":"string"},"offersInAppPurchases":{"type":"boolean"},"inAppPurchaseRange":{"type":"string"},"containsAds":{"type":"boolean"},"genre":{"type":"string"},"genreId":{"type":"string"},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}}}},"contentRating":{"type":"string"},"contentRatingDescription":{"type":"string"},"released":{"type":"string"},"updated":{"type":"string"},"version":{"type":"string"},"minAndroidVersion":{"type":"string"},"recentChanges":{"type":"string"},"description":{"type":"string"},"icon":{"type":"string"},"headerImage":{"type":"string"},"screenshots":{"type":"array","items":{"type":"string"}},"video":{"type":"string","nullable":true},"preregister":{"type":"boolean"},"earlyAccess":{"type":"boolean"}}},"example":{"success":true,"platform":"google-play","appId":"com.spotify.music","url":"https://play.google.com/store/apps/details?id=com.spotify.music","lang":"en","country":"us","title":"Spotify: Music and Podcasts","summary":"Listen to songs, play podcasts, create playlists and discover music you'll love","developer":"Spotify AB","developerId":"Spotify AB","developerUrl":"https://play.google.com/store/apps/developer?id=Spotify+AB","developerWebsite":"https://www.spotify.com","privacyPolicyUrl":"https://www.spotify.com/legal/privacy-policy/","rating":4.345,"ratingText":"4.3","ratingsCount":36407508,"reviewsCount":1854688,"histogram":{"1":3728978,"2":1069293,"3":1312714,"4":3101758,"5":27194749},"installs":"1,000,000,000+","minInstalls":1000000000,"installsEstimate":3139583483,"free":true,"price":0,"originalPrice":null,"currency":"USD","priceText":"Free","offersInAppPurchases":true,"inAppPurchaseRange":"$4.99 - $203.88 per item","containsAds":true,"genre":"Music & Audio","genreId":"MUSIC_AND_AUDIO","categories":[{"name":"Music & Audio","id":"MUSIC_AND_AUDIO"}],"contentRating":"Teen","contentRatingDescription":"In-App Purchases","released":"May 27, 2014","updated":"2026-09-29T14:38:09.733Z","version":"Varies with device","minAndroidVersion":"Varies with device","recentChanges":"We’re always making changes and improvements to Spotify. To make sure you don’t miss a thing, just keep your Updates turned on.","description":"With the Spotify music and podcast app, you can play millions of songs, albums and original podcasts for free. We have even added audiobooks, so you can enjoy thousands of stories wherever you are!\n\nStream music and podcasts, listen to audiobooks, discover albums, playlists or even single songs for …","icon":"https://play-lh.googleusercontent.com/IzQgYCcnCFCD08GR-3bdtcT8xzOvrNkC84avGT5CwTX2VIqmTmKKJcP_Cd4JoBOdmCMlTndlOzV6hrthg2fOWA","headerImage":"https://play-lh.googleusercontent.com/WdedaGD6EAXZgy88wZM97aIcenQ5Cqzu_IUWBMMalkZmVe2lhv_3YqIUh-6pFqLv27kZ44cQX3qxyZTXHH-S91Q","screenshots":["https://play-lh.googleusercontent.com/c1jnjL-9CIFlwlTMX3xNyeo8aEH39sNuC5zpTHhfW8keGxQE3TBMRX9Rm3VqM3E03Cyl9AqtnxuKvxJpcW0WCA","https://play-lh.googleusercontent.com/YxWsaNLSEBvLh04geMOADhSq6Ln5LmRrpa51ixZ7YkcEwmPQ-wdtnvoZDjVAgufbi2et0IlTVDAsvCCmlsJYnNA","https://play-lh.googleusercontent.com/RevDecVUzkc8iYhVazBoXb0O0Amy3_w6MNzzABHyAlyZjEYBq3xl-UxuxL5PGB6xTZpuxV7tET3pg1rp6weFWAY","https://play-lh.googleusercontent.com/o4GBjJkhX0aE6QZDjdmRdVSYGXD-EEUNfYLlYQOfiC09R86c70SksCNZClD-0J1tjcsrDNANXgr9j82-tGwiBnA"],"video":null,"preregister":false,"earlyAccess":false}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"No Google Play app with this package name is available in that country (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No Google Play app with package name com.example.missing is available in US.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/appstore/play/reviews":{"get":{"operationId":"playReviewsGet","summary":"Get Google Play reviews of an app (GET)","description":"Google Play reviews, newest first or most relevant first, in the requested language and country, optionally only one star rating. Up to 500 per call; when there are more, `nextPageToken` continues where the call stopped (send it back with the same app, sort and rating). Each review: id, reviewer display name, rating, text, date, thumbs-up count, app version, developer reply and its date.","tags":["App Store"],"parameters":[{"name":"app","schema":{"type":"string"},"description":"Google Play package name (`com.spotify.music`) or a Play Store app URL (`https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us`; its `hl` / `gl` are used when lang / country are not given). Aliases: `appId`, `id`, `url`.","required":true,"example":"com.spotify.music","in":"query"},{"name":"lang","schema":{"type":"string","default":"en"},"description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`.","required":false,"example":"en","in":"query"},{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`.","required":false,"example":"us","in":"query"},{"name":"sort","schema":{"type":"string","default":"newest","enum":["newest","mostRelevant"]},"description":"Order. `mostRelevant` is Google Play's default order on the app page.","required":false,"in":"query"},{"name":"rating","schema":{"type":"integer","minimum":1,"maximum":5},"description":"Only reviews with exactly this many stars.","required":false,"in":"query"},{"name":"limit","schema":{"type":"integer","default":100,"minimum":1,"maximum":500},"description":"Maximum reviews returned.","required":false,"in":"query"},{"name":"pageToken","schema":{"type":"string"},"description":"`nextPageToken` from the previous answer, to read the next reviews.","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"appId":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"sort":{"type":"string"},"rating":{"type":"integer"},"count":{"type":"integer"},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewId":{"type":"string"},"userName":{"type":"string"},"rating":{"type":"integer"},"text":{"type":"string"},"date":{"type":"string"},"thumbsUp":{"type":"integer"},"appVersion":{"type":"string"},"reply":{"type":"string","nullable":true},"url":{"type":"string"}}}},"nextPageToken":{"type":"string"},"notes":{"type":"array","items":{"type":"string"}}}},"example":{"success":true,"platform":"google-play","appId":"com.spotify.music","lang":"en","country":"us","sort":"mostRelevant","rating":1,"count":3,"reviews":[{"reviewId":"97cf892d-e913-4b23-8db8-84cab11e668a","userName":"Reviewer display name 1","rating":1,"text":"Free version is almost unusable. Good grief! 4 ads in a row then it tells me I can enjoy 30 minutes ad free. 2 songs later here are 4 more ads. At first I figured maybe a weird glitch. Nope. It's happens several times over the last few days. And on top of the that the ads are horrible. They're loude…","date":"2025-07-09T16:12:53.233Z","thumbsUp":3111,"appVersion":"9.0.56.591","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=97cf892d-e913-4b23-8db8-84cab11e668a"},{"reviewId":"d23e9cb8-2510-4f3b-8c66-366971a541cf","userName":"Reviewer display name 2","rating":1,"text":"Spotify used to be incredible! Now, it's total trash! The connectivity is asteonomcally garbage - I could have 5G UC service, be playing downloaded songs, but Spotify will be constantly interrupted. I'm currently experiencing a complete blackout. I loved the way the queue was set-up, where you could…","date":"2025-04-16T14:01:43.689Z","thumbsUp":1272,"appVersion":"9.0.34.593","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=d23e9cb8-2510-4f3b-8c66-366971a541cf"},{"reviewId":"5995ded2-f051-4ad1-ac69-0adac51ad4d7","userName":"Reviewer display name 3","rating":1,"text":"there are multiple things wrong with it, though it does have a lot of music it's hard to get to that music you want because of how it's set up. When I try to get a song it plays a different song from \"things we added\" which is really just a way to get money so you get so annoyed that you pay for pre…","date":"2025-08-10T21:28:49.971Z","thumbsUp":1959,"appVersion":"9.0.66.655","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=5995ded2-f051-4ad1-ac69-0adac51ad4d7"}],"nextPageToken":"eyJ0IjoiQ3JFQklxZ0JBVjhkMVAxZXA3WFZaUzVKV296Snkyb3NjWGFtTzVkenJIOFVHbGhFRnJZMFYyeVFjQmR0R0JKNjc0bnk5ZXhyYkVkbjg5NVlfYlFpb1JLRGZtSEo4ZFR6MUFnNWZRM1RYcFhBcUJyN1Q4c2p0OEt3ZDNKZ3dLYWdaOVZveVBLWGZ2YWpmeGxEaFVQM1dZTEkwXzJiWE4zVDhidG93Smw3QWtoQkxLQWFMRUtOVTY5emdYUTIyTE5ZbXRFcDg3VU5LQ3dIQ05JQXNYMEpwVm1JVU5o…","notes":["Google Play shows reviews written in (or translated to) the requested language; try another lang to see other reviews."]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"No Google Play app with this package name is available in that country (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No Google Play app with package name com.example.missing is available in US.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"playReviews","summary":"Get Google Play reviews of an app","description":"Google Play reviews, newest first or most relevant first, in the requested language and country, optionally only one star rating. Up to 500 per call; when there are more, `nextPageToken` continues where the call stopped (send it back with the same app, sort and rating). Each review: id, reviewer display name, rating, text, date, thumbs-up count, app version, developer reply and its date.\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"string","description":"Google Play package name (`com.spotify.music`) or a Play Store app URL (`https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us`; its `hl` / `gl` are used when lang / country are not given). Aliases: `appId`, `id`, `url`."},"lang":{"type":"string","default":"en","description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`."},"country":{"type":"string","default":"us","description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`."},"sort":{"type":"string","default":"newest","enum":["newest","mostRelevant"],"description":"Order. `mostRelevant` is Google Play's default order on the app page."},"rating":{"type":"integer","minimum":1,"maximum":5,"description":"Only reviews with exactly this many stars."},"limit":{"type":"integer","default":100,"minimum":1,"maximum":500,"description":"Maximum reviews returned."},"pageToken":{"type":"string","description":"`nextPageToken` from the previous answer, to read the next reviews."}},"required":["app"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"appId":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"sort":{"type":"string"},"rating":{"type":"integer"},"count":{"type":"integer"},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewId":{"type":"string"},"userName":{"type":"string"},"rating":{"type":"integer"},"text":{"type":"string"},"date":{"type":"string"},"thumbsUp":{"type":"integer"},"appVersion":{"type":"string"},"reply":{"type":"string","nullable":true},"url":{"type":"string"}}}},"nextPageToken":{"type":"string"},"notes":{"type":"array","items":{"type":"string"}}}},"example":{"success":true,"platform":"google-play","appId":"com.spotify.music","lang":"en","country":"us","sort":"mostRelevant","rating":1,"count":3,"reviews":[{"reviewId":"97cf892d-e913-4b23-8db8-84cab11e668a","userName":"Reviewer display name 1","rating":1,"text":"Free version is almost unusable. Good grief! 4 ads in a row then it tells me I can enjoy 30 minutes ad free. 2 songs later here are 4 more ads. At first I figured maybe a weird glitch. Nope. It's happens several times over the last few days. And on top of the that the ads are horrible. They're loude…","date":"2025-07-09T16:12:53.233Z","thumbsUp":3111,"appVersion":"9.0.56.591","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=97cf892d-e913-4b23-8db8-84cab11e668a"},{"reviewId":"d23e9cb8-2510-4f3b-8c66-366971a541cf","userName":"Reviewer display name 2","rating":1,"text":"Spotify used to be incredible! Now, it's total trash! The connectivity is asteonomcally garbage - I could have 5G UC service, be playing downloaded songs, but Spotify will be constantly interrupted. I'm currently experiencing a complete blackout. I loved the way the queue was set-up, where you could…","date":"2025-04-16T14:01:43.689Z","thumbsUp":1272,"appVersion":"9.0.34.593","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=d23e9cb8-2510-4f3b-8c66-366971a541cf"},{"reviewId":"5995ded2-f051-4ad1-ac69-0adac51ad4d7","userName":"Reviewer display name 3","rating":1,"text":"there are multiple things wrong with it, though it does have a lot of music it's hard to get to that music you want because of how it's set up. When I try to get a song it plays a different song from \"things we added\" which is really just a way to get money so you get so annoyed that you pay for pre…","date":"2025-08-10T21:28:49.971Z","thumbsUp":1959,"appVersion":"9.0.66.655","reply":null,"url":"https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=5995ded2-f051-4ad1-ac69-0adac51ad4d7"}],"nextPageToken":"eyJ0IjoiQ3JFQklxZ0JBVjhkMVAxZXA3WFZaUzVKV296Snkyb3NjWGFtTzVkenJIOFVHbGhFRnJZMFYyeVFjQmR0R0JKNjc0bnk5ZXhyYkVkbjg5NVlfYlFpb1JLRGZtSEo4ZFR6MUFnNWZRM1RYcFhBcUJyN1Q4c2p0OEt3ZDNKZ3dLYWdaOVZveVBLWGZ2YWpmeGxEaFVQM1dZTEkwXzJiWE4zVDhidG93Smw3QWtoQkxLQWFMRUtOVTY5emdYUTIyTE5ZbXRFcDg3VU5LQ3dIQ05JQXNYMEpwVm1JVU5o…","notes":["Google Play shows reviews written in (or translated to) the requested language; try another lang to see other reviews."]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"404":{"description":"No Google Play app with this package name is available in that country (`app_not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"app_not_found","message":"No Google Play app with package name com.example.missing is available in US.","details":{"country":"us"}}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/appstore/play/search":{"get":{"operationId":"playSearchGet","summary":"Search Google Play apps (GET)","description":"Apps that Google Play shows for search words in a language and country (first page, up to 30): package name, title, developer, rating, installs, price, summary and icon.","tags":["App Store"],"parameters":[{"name":"q","schema":{"type":"string"},"description":"Search words. Aliases: `term`, `query`.","required":true,"example":"habit tracker","in":"query"},{"name":"lang","schema":{"type":"string","default":"en"},"description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`.","required":false,"example":"en","in":"query"},{"name":"country","schema":{"type":"string","default":"us"},"description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`.","required":false,"example":"us","in":"query"},{"name":"price","schema":{"type":"string","default":"all","enum":["all","free","paid"]},"description":"Only free or only paid apps.","required":false,"in":"query"},{"name":"limit","schema":{"type":"integer","default":30,"minimum":1,"maximum":30},"description":"Maximum apps returned.","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"query":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"price":{"type":"string"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"appId":{"type":"string"},"title":{"type":"string"},"developer":{"type":"string"},"rating":{"type":"number"},"installs":{"type":"string"},"free":{"type":"boolean"},"price":{"type":"integer"},"currency":{"type":"string"},"summary":{"type":"string"},"icon":{"type":"string"},"url":{"type":"string"}}}}}},"example":{"success":true,"platform":"google-play","query":"habit tracker","lang":"en","country":"us","price":"all","count":5,"results":[{"appId":"org.isoron.uhabits","title":"Loop Habit Tracker","developer":"Álinson S Xavier","rating":4.718,"installs":"5,000,000+","free":true,"price":0,"currency":"USD","summary":"Loop helps you create and maintain good habits, allowing you to achieve your long-term goals. Detailed charts and statistics show you how your habits improved over time. The app is completely ad-free, open source and it respects your privacy.\n\n\nSimple, beautiful and modern interface\nLoop has a minim…","icon":"https://play-lh.googleusercontent.com/p0AgkzxC9Vus-E82psxrb7p8VtrVJMfXKcU9hNTW8tTG7G3yAGBqxCIyUmwibUyT1Mx7DAzkrJnPLo4VEYDwlbI","url":"https://play.google.com/store/apps/details?id=org.isoron.uhabits"},{"appId":"com.habitnow","title":"HabitNow Daily Routine Planner","developer":"HabitNow Apps","rating":4.743,"installs":"5,000,000+","free":true,"price":0,"currency":"USD","summary":"Maximize Your Productivity with HabitNow: Your Ultimate Todo List and Habit Tracker! 🚀\nKeeping your life organized has never been easier! With HabitNow, efficiently manage your school schedule, house chores, work, and more, all while building strong habits. Enter your routine, record progress, and s…","icon":"https://play-lh.googleusercontent.com/HsjWZ5h3QDDNPL-0xKP9j4CXG6dxaojS2PtyuRnylitzLm5huDOCMkwc8gYF1glrr1laiRNospq5uNB0HUIo","url":"https://play.google.com/store/apps/details?id=com.habitnow"},{"appId":"app.disciplined.productive.structured.habit.tracker","title":"Disciplined - Habit Tracker","developer":"Tip Tap Apps","rating":4.286,"installs":"500,000+","free":true,"price":0,"currency":"USD","summary":"Over 1,000,000 people use Disciplined to build habits that stick.\n\nNamed one of the best apps of 2024. No complicated systems, no bloat. Just build your daily habit streak — and don't break it.\n\n━━━━━━━━━━━━━━━━━━━━━━\n\nWHAT MAKES DISCIPLINED DIFFERENT\n\nMost habit trackers overwhelm you with features…","icon":"https://play-lh.googleusercontent.com/yJq3VY6lQCnjluNZqnz6E5GZwLcOHnifJaeXDiCEkKqNPIMJPajfKQgXIGPzuJUrfsC5crAWMMKyvaWcz06y_vk","url":"https://play.google.com/store/apps/details?id=app.disciplined.productive.structured.habit.tracker"},{"appId":"com.roehl.habitkit","title":"Habit Tracker - HabitKit","developer":"Sebastian Röhl","rating":4.574,"installs":"500,000+","free":true,"price":0,"currency":"USD","summary":"Big life changes do not start big. They start with one small habit, done today, done again tomorrow. HabitKit turns those daily wins into a colorful grid of tiles, one square for every day you show up, so you can finally see yourself becoming the person you want to be.\n\nThat visible progress is the …","icon":"https://play-lh.googleusercontent.com/TdubEdRfoPscyyf_UncRx2VKLa08b07wHTNjdGyAP4W63r4Jht1kEry7UF-6UkqzSLSmEUu91hRmkvDhAvPgNg","url":"https://play.google.com/store/apps/details?id=com.roehl.habitkit"}]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"playSearch","summary":"Search Google Play apps","description":"Apps that Google Play shows for search words in a language and country (first page, up to 30): package name, title, developer, rating, installs, price, summary and icon.\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["App Store"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"q":{"type":"string","description":"Search words. Aliases: `term`, `query`."},"lang":{"type":"string","default":"en","description":"Language of the store text and of the reviews (`en`, `ja`, `pt-BR`, `zh-TW`...). Alias: `hl`."},"country":{"type":"string","default":"us","description":"Two-letter Google Play country (prices, currency, availability). Alias: `gl`."},"price":{"type":"string","default":"all","enum":["all","free","paid"],"description":"Only free or only paid apps."},"limit":{"type":"integer","default":30,"minimum":1,"maximum":30,"description":"Maximum apps returned."}},"required":["q"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"query":{"type":"string"},"lang":{"type":"string"},"country":{"type":"string"},"price":{"type":"string"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"appId":{"type":"string"},"title":{"type":"string"},"developer":{"type":"string"},"rating":{"type":"number"},"installs":{"type":"string"},"free":{"type":"boolean"},"price":{"type":"integer"},"currency":{"type":"string"},"summary":{"type":"string"},"icon":{"type":"string"},"url":{"type":"string"}}}}}},"example":{"success":true,"platform":"google-play","query":"habit tracker","lang":"en","country":"us","price":"all","count":5,"results":[{"appId":"org.isoron.uhabits","title":"Loop Habit Tracker","developer":"Álinson S Xavier","rating":4.718,"installs":"5,000,000+","free":true,"price":0,"currency":"USD","summary":"Loop helps you create and maintain good habits, allowing you to achieve your long-term goals. Detailed charts and statistics show you how your habits improved over time. The app is completely ad-free, open source and it respects your privacy.\n\n\nSimple, beautiful and modern interface\nLoop has a minim…","icon":"https://play-lh.googleusercontent.com/p0AgkzxC9Vus-E82psxrb7p8VtrVJMfXKcU9hNTW8tTG7G3yAGBqxCIyUmwibUyT1Mx7DAzkrJnPLo4VEYDwlbI","url":"https://play.google.com/store/apps/details?id=org.isoron.uhabits"},{"appId":"com.habitnow","title":"HabitNow Daily Routine Planner","developer":"HabitNow Apps","rating":4.743,"installs":"5,000,000+","free":true,"price":0,"currency":"USD","summary":"Maximize Your Productivity with HabitNow: Your Ultimate Todo List and Habit Tracker! 🚀\nKeeping your life organized has never been easier! With HabitNow, efficiently manage your school schedule, house chores, work, and more, all while building strong habits. Enter your routine, record progress, and s…","icon":"https://play-lh.googleusercontent.com/HsjWZ5h3QDDNPL-0xKP9j4CXG6dxaojS2PtyuRnylitzLm5huDOCMkwc8gYF1glrr1laiRNospq5uNB0HUIo","url":"https://play.google.com/store/apps/details?id=com.habitnow"},{"appId":"app.disciplined.productive.structured.habit.tracker","title":"Disciplined - Habit Tracker","developer":"Tip Tap Apps","rating":4.286,"installs":"500,000+","free":true,"price":0,"currency":"USD","summary":"Over 1,000,000 people use Disciplined to build habits that stick.\n\nNamed one of the best apps of 2024. No complicated systems, no bloat. Just build your daily habit streak — and don't break it.\n\n━━━━━━━━━━━━━━━━━━━━━━\n\nWHAT MAKES DISCIPLINED DIFFERENT\n\nMost habit trackers overwhelm you with features…","icon":"https://play-lh.googleusercontent.com/yJq3VY6lQCnjluNZqnz6E5GZwLcOHnifJaeXDiCEkKqNPIMJPajfKQgXIGPzuJUrfsC5crAWMMKyvaWcz06y_vk","url":"https://play.google.com/store/apps/details?id=app.disciplined.productive.structured.habit.tracker"},{"appId":"com.roehl.habitkit","title":"Habit Tracker - HabitKit","developer":"Sebastian Röhl","rating":4.574,"installs":"500,000+","free":true,"price":0,"currency":"USD","summary":"Big life changes do not start big. They start with one small habit, done today, done again tomorrow. HabitKit turns those daily wins into a colorful grid of tiles, one square for every day you show up, so you can finally see yourself becoming the person you want to be.\n\nThat visible progress is the …","icon":"https://play-lh.googleusercontent.com/TdubEdRfoPscyyf_UncRx2VKLa08b07wHTNjdGyAP4W63r4Jht1kEry7UF-6UkqzSLSmEUu91hRmkvDhAvPgNg","url":"https://play.google.com/store/apps/details?id=com.roehl.habitkit"}]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Google Play is rate-limiting requests right now (`upstream_error`); retry after a minute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["success","error"],"properties":{"success":{"const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["not_configured","unauthorized","not_found","method_not_allowed","invalid_request","rate_limited","url_not_allowed","target_blocked","target_unreachable","target_error","unsupported_content","too_large","timeout","upstream_error","board_not_found","app_not_found"]},"message":{"type":"string"},"retryable":{"type":"boolean","description":"true for rate_limited, timeout, upstream_error and browser_busy; false for other errors."},"retryAfterSeconds":{"type":"integer","description":"Seconds to wait before retrying, when a numeric Retry-After header is present."},"details":{"type":"object","additionalProperties":true}}}}}}}}