{"openapi":"3.2.0","info":{"title":"App Store Google Play Data API","description":"iOS & Android app store data API - fetch app details, reviews, search & rankings","version":"1.0.0"},"servers":[{"url":"https://appstore-google-play.jojapi.net"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"iOS App Store"},{"name":"Android / Google Play"}],"x-agent-commerce":{"catalog_url":"https://appstore-google-play.jojapi.net/_jojapi/agent/plans","discovery_url":"https://appstore-google-play.jojapi.net/.well-known/x402","directory_url":"https://agents.jojapi.net/apis/app-store-google-play-data-api","docs":"https://docs.jojapi.com/consumers/agents"},"paths":{"/ios/categories":{"get":{"operationId":"get_ios_categories","summary":"Get IOS Categories","description":"Retrieve list of all available categories in the iOS App Store","tags":["iOS App Store"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"anyOf":[{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Category ID"},"name":{"type":"string","title":"Name","description":"Category name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Category URL"}},"type":"object","required":["id","name"],"title":"IOSCategory","description":"iOS App Store category."},"type":"array"},{"type":"null"}],"title":"Data","description":"Response data"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"}},"type":"object","required":["metadata"],"title":"ApiResponse[list[IOSCategory]]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":{"0":{"id":"","name":"","url":{}}},"metadata":{"store":"","timestamp":"","country":"","lang":""}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}}]}},"/ios/apps/{app_id}":{"get":{"operationId":"get_ios_apps_app_id","summary":"Get IOS App Details","description":"Retrieve detailed information about an iOS app from the App Store","tags":["iOS App Store"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"anyOf":[{"properties":{"track_id":{"type":"integer","title":"Track Id","description":"Apple app ID (trackId)"},"track_name":{"type":"string","title":"Track Name","description":"App name"},"bundle_id":{"type":"string","title":"Bundle Id","description":"Bundle ID"},"artist_name":{"type":"string","title":"Artist Name","description":"Developer/artist name"},"artist_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Artist Id","description":"Developer/artist ID"},"genres":{"items":{"type":"string"},"type":"array","title":"Genres","description":"List of genres"},"primary_genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Genre","description":"Primary genre"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"App description"},"price":{"type":"number","title":"Price","description":"Price (0 for free)","default":0},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"Currency code"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","description":"Average user rating"},"rating_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rating Count","description":"Number of ratings"},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating","description":"Content rating (e.g., '4+')"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url","description":"App icon URL"},"screenshot_urls":{"items":{"type":"string"},"type":"array","title":"Screenshot Urls","description":"Screenshot URLs"},"release_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Release Date","description":"Original release date"},"current_version_release_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Version Release Date","description":"Current version release date"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Current version"},"minimum_os_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Minimum Os Version","description":"Minimum iOS version"},"file_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size Bytes","description":"File size in bytes"},"track_view_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Track View Url","description":"App Store URL"},"supported_devices":{"items":{"type":"string"},"type":"array","title":"Supported Devices","description":"Supported devices"},"language_codes":{"items":{"type":"string"},"type":"array","title":"Language Codes","description":"Supported languages"},"is_free":{"type":"boolean","title":"Is Free","description":"Whether the app is free","default":true}},"type":"object","required":["track_id","track_name","bundle_id","artist_name"],"title":"IOSAppInfo","description":"iOS App Store app information."},{"type":"null"}],"description":"Response data"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"}},"type":"object","required":["metadata"],"title":"ApiResponse[IOSAppInfo]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":{"track_id":0,"track_name":"","bundle_id":"","artist_name":"","artist_id":{},"genres":[],"primary_genre":{},"description":{},"price":0,"currency":{},"rating":{},"rating_count":{},"content_rating":{},"icon_url":{},"screenshot_urls":[],"release_date":{},"current_version_release_date":{},"version":{},"minimum_os_version":{},"file_size_bytes":{},"track_view_url":{},"supported_devices":[],"language_codes":[],"is_free":true},"metadata":{"store":"","timestamp":"","country":"","lang":""}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"app_id","in":"path","description":"Apple app ID (e.g., 324684580 for Spotify)","required":true,"schema":{"type":"number"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}}]}},"/ios/search":{"get":{"operationId":"get_ios_search","summary":"Search IOS Apps","description":"Search for apps in the iOS App Store","tags":["iOS App Store"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"track_id":{"type":"integer","title":"Track Id","description":"Apple app ID"},"track_name":{"type":"string","title":"Track Name","description":"App name"},"artist_name":{"type":"string","title":"Artist Name","description":"Developer name"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url","description":"App icon URL"},"price":{"type":"number","title":"Price","description":"Price","default":0},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","description":"Average rating"},"rating_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rating Count","description":"Number of ratings"},"genres":{"items":{"type":"string"},"type":"array","title":"Genres","description":"List of genres"},"track_view_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Track View Url","description":"App Store URL"}},"type":"object","required":["track_id","track_name","artist_name"],"title":"IOSSearchResult","description":"iOS App Store search result."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[IOSSearchResult]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"track_id":0,"track_name":"","artist_name":"","icon_url":{},"price":0,"rating":{},"rating_count":{},"genres":[],"track_view_url":{}}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"q","in":"query","description":"Search query","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}}]}},"/ios/top/{collection}":{"get":{"operationId":"get_ios_top_collection","summary":"Get Top IOS Apps","description":"Get top apps from a collection (e.g., topfreeapplications, toppaidapplications)","tags":["iOS App Store"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"rank":{"type":"integer","title":"Rank","description":"App ranking position"},"track_id":{"type":"integer","title":"Track Id","description":"Apple app ID"},"track_name":{"type":"string","title":"Track Name","description":"App name"},"artist_name":{"type":"string","title":"Artist Name","description":"Developer name"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url","description":"App icon URL"},"bundle_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Id","description":"Bundle ID"},"price":{"type":"number","title":"Price","description":"Price","default":0},"genres":{"items":{"type":"string"},"type":"array","title":"Genres","description":"List of genres"},"track_view_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Track View Url","description":"App Store URL"}},"type":"object","required":["rank","track_id","track_name","artist_name"],"title":"IOSTopApp","description":"iOS App Store top app entry."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[IOSTopApp]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"rank":0,"track_id":0,"track_name":"","artist_name":"","icon_url":{},"bundle_id":{},"price":0,"genres":[],"track_view_url":{}}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"collection","in":"path","description":"Collection name: topfreeapplications, toppaidapplications, topgrossingapplications, newapplications, newfreeapplications, newpaidapplications","required":true,"schema":{"type":"string"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"category","in":"query","description":"Category ID to filter by","required":false,"schema":{"type":"object","example":{}}}]}},"/ios/apps/{app_id}/reviews":{"get":{"operationId":"get_ios_apps_app_id_reviews","summary":"Get IOS App Reviews","description":"Retrieve reviews for an iOS app from the App Store","tags":["iOS App Store"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Review ID"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Review title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Review content/text"},"rating":{"type":"integer","maximum":5,"minimum":1,"title":"Rating","description":"Rating (1-5 stars)"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author","description":"Reviewer name"},"date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date","description":"Review date"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"App version reviewed"},"helpful_votes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Helpful Votes","description":"Number of helpful votes"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Review URL"}},"type":"object","required":["id","rating"],"title":"IOSReview","description":"iOS App Store review."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[IOSReview]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"id":"","title":{},"content":{},"rating":0,"author":{},"date":{},"version":{},"helpful_votes":{},"url":{}}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"app_id","in":"path","description":"Apple app ID","required":true,"schema":{"type":"number"}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}},{"name":"sort","in":"query","description":"Sort order: 'recent' or 'helpful'","required":false,"schema":{"type":"object"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}}]}},"/android/search":{"get":{"operationId":"get_android_search","summary":"Search Android App","description":"Search for apps in the Google Play Store","tags":["Android / Google Play"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"app_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Id","description":"App package name"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"App title"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Developer name"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon","description":"App icon URL"},"price":{"type":"number","title":"Price","description":"Price","default":0},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score","description":"Average rating"},"score_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Score Text","description":"Rating as text"},"is_free":{"type":"boolean","title":"Is Free","description":"Whether the app is free","default":true},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Google Play URL"}},"type":"object","title":"AndroidSearchResult","description":"Google Play Store search result."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[AndroidSearchResult]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"app_id":{},"title":{},"developer":{},"icon":{},"price":0,"score":{},"score_text":{},"is_free":true,"url":{}}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"q","in":"query","description":"Search query","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}}]}},"/android/categories":{"get":{"operationId":"get_android_categories","summary":"Get Android Categories","description":"Retrieve list of all available categories in the Google Play Store","tags":["Android / Google Play"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"anyOf":[{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Category ID (e.g., 'APPLICATION')"},"name":{"type":"string","title":"Name","description":"Category name"}},"type":"object","required":["id","name"],"title":"AndroidCategory","description":"Google Play Store category."},"type":"array"},{"type":"null"}],"title":"Data","description":"Response data"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"}},"type":"object","required":["metadata"],"title":"ApiResponse[list[AndroidCategory]]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":{"0":{"id":"","name":""}},"metadata":{"store":"","timestamp":"","country":"","lang":""}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}}]}},"/android/top/{collection}":{"get":{"operationId":"get_android_top_collection","summary":"Get Top Android Apps","description":"Get top apps from a collection (e.g., topselling_free, topselling_paid)","tags":["Android / Google Play"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"rank":{"type":"integer","title":"Rank","description":"App ranking position"},"app_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Id","description":"App package name"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"App title"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Developer name"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon","description":"App icon URL"},"price":{"type":"number","title":"Price","description":"Price","default":0},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score","description":"Average rating"},"is_free":{"type":"boolean","title":"Is Free","description":"Whether the app is free","default":true},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Google Play URL"}},"type":"object","required":["rank"],"title":"AndroidTopApp","description":"Google Play Store top app entry."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[AndroidTopApp]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"rank":0,"app_id":{},"title":{},"developer":{},"icon":{},"price":0,"score":{},"is_free":true,"url":{}}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"collection","in":"path","description":"Collection name: topselling_free, topselling_paid, topgrossing, new_free, new_paid","required":true,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}},{"name":"category","in":"query","description":"Category ID to filter by (e.g., APPLICATION, GAME)","required":false,"schema":{"type":"object","example":{}}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}}]}},"/android/apps/{package_name}":{"get":{"operationId":"get_android_apps_package_name","summary":"Get Android App Details","description":"Retrieve detailed information about an Android app from Google Play Store","tags":["Android / Google Play"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"anyOf":[{"properties":{"app_id":{"type":"string","title":"App Id","description":"App package name (e.g., com.spotify.music)"},"title":{"type":"string","title":"Title","description":"App title"},"developer":{"type":"string","title":"Developer","description":"Developer name"},"developer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer Id","description":"Developer ID"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Full app description"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"Short summary"},"price":{"type":"number","title":"Price","description":"Price (0 for free)","default":0},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"Currency code"},"is_free":{"type":"boolean","title":"Is Free","description":"Whether the app is free","default":true},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score","description":"Average rating score"},"reviews":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviews","description":"Number of reviews"},"ratings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratings","description":"Number of ratings"},"installs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Installs","description":"Install count range (e.g., '1,000,000+')"},"min_installs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Installs","description":"Minimum install count"},"max_installs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Installs","description":"Maximum install count"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon","description":"App icon URL"},"header_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Image","description":"Header image URL"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre","description":"Primary genre"},"genres":{"items":{"type":"string"},"type":"array","title":"Genres","description":"List of genres"},"content_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Rating","description":"Content rating (e.g., 'Everyone')"},"updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated","description":"Last updated date"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Current version"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"App size"},"android_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Android Version","description":"Required Android version"},"screenshot_urls":{"items":{"type":"string"},"type":"array","title":"Screenshot Urls","description":"Screenshot URLs"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url","description":"Promotional video URL"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Google Play URL"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"Developer website"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Developer email"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"Developer address"},"privacy_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Privacy Policy","description":"Privacy policy URL"},"ad_supported":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ad Supported","description":"Whether app contains ads"},"contains_ads":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Contains Ads","description":"Whether app contains ads"},"in_app_purchases":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"In App Purchases","description":"Whether app has IAP"},"editors_choice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editors Choice","description":"Editor's Choice badge"},"language_codes":{"items":{"type":"string"},"type":"array","title":"Language Codes","description":"Supported languages"}},"type":"object","required":["app_id","title","developer"],"title":"AndroidAppInfo","description":"Google Play Store app information."},{"type":"null"}],"description":"Response data"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"}},"type":"object","required":["metadata"],"title":"ApiResponse[AndroidAppInfo]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":{"app_id":"","title":"","developer":"","developer_id":{},"description":{},"summary":{},"price":0,"currency":{},"is_free":true,"score":{},"reviews":{},"ratings":{},"installs":{},"min_installs":{},"max_installs":{},"icon":{},"header_image":{},"genre":{},"genres":[],"content_rating":{},"updated":{},"version":{},"size":{},"android_version":{},"screenshot_urls":[],"video_url":{},"url":{},"website":{},"email":{},"address":{},"privacy_policy":{},"ad_supported":{},"contains_ads":{},"in_app_purchases":{},"editors_choice":{},"language_codes":[]},"metadata":{"store":"","timestamp":"","country":"","lang":""}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"package_name","in":"path","description":"App package name (e.g., com.spotify.music)","required":true,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}}]}},"/android/apps/{package_name}/reviews":{"get":{"operationId":"get_android_apps_package_name_reviews","summary":"Get Android App Reviews","description":"Retrieve reviews for an Android app from Google Play Store","tags":["Android / Google Play"],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Request success status","default":true},"data":{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Review ID"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username","description":"Reviewer username"},"user_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Image","description":"Reviewer profile image URL"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Review content/text"},"score":{"type":"integer","maximum":5,"minimum":1,"title":"Score","description":"Rating score (1-5)"},"at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At","description":"Review date"},"reply_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reply Content","description":"Developer reply content"},"reply_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reply Date","description":"Developer reply date"},"app_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Version","description":"App version reviewed"},"thumbs_up":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Thumbs Up","description":"Number of thumbs up"},"critic_labels":{"items":{"type":"string"},"type":"array","title":"Critic Labels","description":"Review labels/tags"}},"type":"object","required":["id","score"],"title":"AndroidReview","description":"Google Play Store review."},"type":"array","title":"Data","description":"List of items"},"metadata":{"description":"Response metadata","properties":{"store":{"type":"string","title":"Store","description":"Store type (ios or android)"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"},"country":{"type":"string","title":"Country","description":"Country code used for the request"},"lang":{"type":"string","title":"Lang","description":"Language code used for the request"}},"type":"object","required":["store","country","lang"],"title":"ResponseMetadata"},"pagination":{"description":"Pagination information","properties":{"page":{"type":"integer","title":"Page","description":"Current page number"},"limit":{"type":"integer","title":"Limit","description":"Items per page"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total number of items (if available)"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more results are available","default":false}},"type":"object","required":["page","limit"],"title":"PaginationInfo"}},"type":"object","required":["metadata","pagination"],"title":"PaginatedResponse[AndroidReview]"},"examples":{"Example_1":{"summary":"Example_1","value":{"success":true,"data":[{"id":"","username":{},"user_image":{},"content":{},"score":0,"at":{},"reply_content":{},"reply_date":{},"app_version":{},"thumbs_up":{},"critic_labels":[]}],"metadata":{"store":"","timestamp":"","country":"","lang":""},"pagination":{"page":0,"limit":0,"total":{},"has_more":false}}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"examples":{"Example_1":{"summary":"Example_1","value":{"detail":[{"loc":[],"msg":"","type":"","ctx":{}}]}}}}}}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"package_name","in":"path","description":"App package name","required":true,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Country code (e.g., 'us', 'gb')","required":false,"schema":{"type":"string","example":"us","default":"us"}},{"name":"offset","in":"query","description":"Number of results to skip","required":false,"schema":{"type":"number","example":0,"default":0}},{"name":"sort","in":"query","description":"Sort order: 'recent', 'helpful', or 'rating'","required":false,"schema":{"type":"object"}},{"name":"limit","in":"query","description":"Number of results to return","required":false,"schema":{"type":"number","example":50,"default":50}},{"name":"lang","in":"query","description":"Language code (e.g., 'en', 'es')","required":false,"schema":{"type":"string","example":"en","default":"en"}}]}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-JoJAPI-Key","description":"Your JoJ API key."}}}}