{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Scraper & Developer Catalog",
    "description": "Scrape Google Play apps and developer catalogs to collect app names, ratings, reviews, installs, categories, versions, developer details, and related apps. Ideal for app market research, competitor analysis, ASO, and developer discovery.",
    "version": "0.1",
    "x-build-id": "oIWH1PX2kh8TgK0M2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~google-play-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-google-play-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/api-empire~google-play-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-google-play-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/api-empire~google-play-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-google-play-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "catalogMode": {
            "title": "🧭 What should this run catalog?",
            "enum": [
              "developerCatalog",
              "topCharts",
              "appDetails",
              "keywordSearch",
              "relatedApps",
              "userReviews"
            ],
            "type": "string",
            "description": "**Developer catalog** walks a publisher's whole app portfolio. **Category charts** reads ranked Top / New / Trending lists. The remaining four modes cover single apps, keyword results, related apps and user reviews."
          },
          "maxRecords": {
            "title": "🔢 Maximum rows for this run",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on how many rows the run writes in total. Leave empty to collect everything the selected scope returns."
          },
          "developerTargets": {
            "title": "👤 Publishers to catalog",
            "type": "array",
            "description": "One publisher per line. Every app the publisher lists on the storefront is collected in listing order, each row carrying its position in the portfolio.",
            "items": {
              "type": "string"
            }
          },
          "maxAppsPerDeveloper": {
            "title": "📏 Apps per publisher",
            "minimum": 0,
            "type": "integer",
            "description": "Caps how many apps are taken from each publisher before moving to the next one. Leave empty for the full portfolio."
          },
          "chartCollections": {
            "title": "📊 Chart lists",
            "uniqueItems": true,
            "type": "array",
            "description": "Which ranked lists to read. Pick several to compare free, paid, grossing, new and trending rankings side by side.",
            "items": {
              "type": "string",
              "enum": [
                "TOP_FREE",
                "TOP_PAID",
                "TOP_GROSSING",
                "NEW_FREE",
                "NEW_PAID",
                "TRENDING"
              ],
              "enumTitles": [
                "🆓 Top free",
                "💵 Top paid",
                "💰 Top grossing",
                "🆕 New free",
                "🧾 New paid",
                "📈 Trending"
              ]
            }
          },
          "chartCategories": {
            "title": "🏷️ Chart categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Storefront categories to read the selected lists for. `All apps` and `All games` are the two store-wide charts; the rest are single categories.",
            "items": {
              "type": "string",
              "enum": [
                "APPLICATION",
                "GAME",
                "FAMILY",
                "ANDROID_WEAR",
                "ART_AND_DESIGN",
                "AUTO_AND_VEHICLES",
                "BEAUTY",
                "BOOKS_AND_REFERENCE",
                "BUSINESS",
                "COMICS",
                "COMMUNICATION",
                "DATING",
                "EDUCATION",
                "ENTERTAINMENT",
                "EVENTS",
                "FINANCE",
                "FOOD_AND_DRINK",
                "HEALTH_AND_FITNESS",
                "HOUSE_AND_HOME",
                "LIBRARIES_AND_DEMO",
                "LIFESTYLE",
                "MAPS_AND_NAVIGATION",
                "MEDICAL",
                "MUSIC_AND_AUDIO",
                "NEWS_AND_MAGAZINES",
                "PARENTING",
                "PERSONALIZATION",
                "PHOTOGRAPHY",
                "PRODUCTIVITY",
                "SHOPPING",
                "SOCIAL",
                "SPORTS",
                "TOOLS",
                "TRAVEL_AND_LOCAL",
                "VIDEO_PLAYERS",
                "WATCH_FACE",
                "WEATHER",
                "GAME_ACTION",
                "GAME_ADVENTURE",
                "GAME_ARCADE",
                "GAME_BOARD",
                "GAME_CARD",
                "GAME_CASINO",
                "GAME_CASUAL",
                "GAME_EDUCATIONAL",
                "GAME_MUSIC",
                "GAME_PUZZLE",
                "GAME_RACING",
                "GAME_ROLE_PLAYING",
                "GAME_SIMULATION",
                "GAME_SPORTS",
                "GAME_STRATEGY",
                "GAME_TRIVIA",
                "GAME_WORD"
              ],
              "enumTitles": [
                "All apps",
                "All games",
                "Family",
                "Wear OS",
                "Art & design",
                "Auto & vehicles",
                "Beauty",
                "Books & reference",
                "Business",
                "Comics",
                "Communication",
                "Dating",
                "Education",
                "Entertainment",
                "Events",
                "Finance",
                "Food & drink",
                "Health & fitness",
                "House & home",
                "Libraries & demo",
                "Lifestyle",
                "Maps & navigation",
                "Medical",
                "Music & audio",
                "News & magazines",
                "Parenting",
                "Personalization",
                "Photography",
                "Productivity",
                "Shopping",
                "Social",
                "Sports",
                "Tools",
                "Travel & local",
                "Video players & editors",
                "Watch faces",
                "Weather",
                "Games: action",
                "Games: adventure",
                "Games: arcade",
                "Games: board",
                "Games: card",
                "Games: casino",
                "Games: casual",
                "Games: educational",
                "Games: music",
                "Games: puzzle",
                "Games: racing",
                "Games: role playing",
                "Games: simulation",
                "Games: sports",
                "Games: strategy",
                "Games: trivia",
                "Games: word"
              ]
            }
          },
          "maxAppsPerChart": {
            "title": "🎯 Ranked apps per chart",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How deep to read each chart, from rank 1 downwards. The storefront serves at most 200 ranked positions per list."
          },
          "appTargets": {
            "title": "🔗 App URLs or package ids",
            "type": "array",
            "description": "One app per line, as a full store URL or a bare package id. Used by the **📦 App details** scope.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "🔍 Search keywords",
            "type": "array",
            "description": "One keyword per line. Used by the **🔎 Keyword search** scope - each hit is expanded into a full app record.",
            "items": {
              "type": "string"
            }
          },
          "similarToApps": {
            "title": "🧩 Source apps for related lookups",
            "type": "array",
            "description": "One app per line, as a store URL or a package id. Used by the **🧩 Related apps** scope - the apps recommended alongside each source app are collected.",
            "items": {
              "type": "string"
            }
          },
          "reviewAppTargets": {
            "title": "📱 Apps to read reviews for",
            "type": "array",
            "description": "One app per line, as a store URL or a package id. Reviews are collected app by app.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerApp": {
            "title": "🗣️ Reviews per app",
            "minimum": 0,
            "type": "integer",
            "description": "Caps how many reviews are taken from each app before moving to the next. Leave empty to page through everything the storefront returns."
          },
          "reviewCursor": {
            "title": "↪️ Resume reviews from",
            "type": "string",
            "description": "Resume token for the first app in the queue. The previous run saves it in its key-value store under **lastCursor**."
          },
          "storefrontCountry": {
            "title": "🗺️ Storefront country",
            "enum": [
              "us",
              "ar",
              "au",
              "at",
              "bd",
              "be",
              "bo",
              "br",
              "bg",
              "ca",
              "cl",
              "cn",
              "co",
              "cr",
              "hr",
              "cy",
              "cz",
              "dk",
              "do",
              "ec",
              "eg",
              "ee",
              "fi",
              "fr",
              "de",
              "gh",
              "gr",
              "gt",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jp",
              "jo",
              "kz",
              "ke",
              "kw",
              "lv",
              "lb",
              "lt",
              "lu",
              "my",
              "mt",
              "mx",
              "ma",
              "nl",
              "nz",
              "ng",
              "no",
              "om",
              "pk",
              "pa",
              "py",
              "pe",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "ru",
              "sa",
              "rs",
              "sg",
              "sk",
              "si",
              "za",
              "kr",
              "es",
              "lk",
              "se",
              "ch",
              "tw",
              "tz",
              "th",
              "tn",
              "tr",
              "ua",
              "ae",
              "gb",
              "uy",
              "ve",
              "vn"
            ],
            "type": "string",
            "description": "Which country's Google Play storefront to read. Charts and prices are storefront-specific."
          },
          "storefrontLanguage": {
            "title": "🗨️ Listing language",
            "enum": [
              "en",
              "es",
              "pt",
              "fr",
              "de",
              "it",
              "nl",
              "pl",
              "ru",
              "tr",
              "ar",
              "hi",
              "id",
              "vi",
              "th",
              "ja",
              "ko",
              "zh",
              "sv",
              "da",
              "fi",
              "no",
              "cs",
              "el",
              "he",
              "hu",
              "ro",
              "uk"
            ],
            "type": "string",
            "description": "Language for titles, summaries and descriptions. Publishers do not translate every listing, so some fields may stay in the original language."
          },
          "minScore": {
            "title": "⭐ Minimum star rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Drop app rows rated below this value. Apps with no rating yet are dropped too. Leave at 0 to keep everything."
          },
          "minInstalls": {
            "title": "⬇️ Minimum installs",
            "minimum": 0,
            "type": "integer",
            "description": "Drop app rows below this install count. Useful for skipping long-tail titles inside a large portfolio or chart."
          },
          "action": {
            "title": "🎯 action (legacy)",
            "enum": [
              "scrapeReviews",
              "scrapeAppSearch",
              "scrapeAppUrls",
              "scrapeSimilarApps"
            ],
            "type": "string",
            "description": "Legacy scope selector. Maps to **🧭 What should this run catalog?** above."
          },
          "scrapeReviews.appId": {
            "title": "🆓 scrapeReviews.appId (legacy)",
            "type": "string",
            "description": "Legacy single-app reviews target. Maps to **📱 Apps to read reviews for**."
          },
          "scrapeReviews.country": {
            "title": "🌎 scrapeReviews.country (legacy)",
            "enum": [
              "us",
              "ar",
              "au",
              "at",
              "bd",
              "be",
              "bo",
              "br",
              "bg",
              "ca",
              "cl",
              "cn",
              "co",
              "cr",
              "hr",
              "cy",
              "cz",
              "dk",
              "do",
              "ec",
              "eg",
              "ee",
              "fi",
              "fr",
              "de",
              "gh",
              "gr",
              "gt",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jp",
              "jo",
              "kz",
              "ke",
              "kw",
              "lv",
              "lb",
              "lt",
              "lu",
              "my",
              "mt",
              "mx",
              "ma",
              "nl",
              "nz",
              "ng",
              "no",
              "om",
              "pk",
              "pa",
              "py",
              "pe",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "ru",
              "sa",
              "rs",
              "sg",
              "sk",
              "si",
              "za",
              "kr",
              "es",
              "lk",
              "se",
              "ch",
              "tw",
              "tz",
              "th",
              "tn",
              "tr",
              "ua",
              "ae",
              "gb",
              "uy",
              "ve",
              "vn"
            ],
            "type": "string",
            "description": "Legacy reviews storefront. Maps to **🗺️ Storefront country**."
          },
          "scrapeAppSearch.keywords": {
            "title": "🔎 scrapeAppSearch.keywords (legacy)",
            "type": "array",
            "description": "Legacy search keywords. Maps to **🔍 Search keywords**.",
            "items": {
              "type": "string"
            }
          },
          "scrapeAppSearch.country": {
            "title": "🌏 scrapeAppSearch.country (legacy)",
            "enum": [
              "us",
              "ar",
              "au",
              "at",
              "bd",
              "be",
              "bo",
              "br",
              "bg",
              "ca",
              "cl",
              "cn",
              "co",
              "cr",
              "hr",
              "cy",
              "cz",
              "dk",
              "do",
              "ec",
              "eg",
              "ee",
              "fi",
              "fr",
              "de",
              "gh",
              "gr",
              "gt",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jp",
              "jo",
              "kz",
              "ke",
              "kw",
              "lv",
              "lb",
              "lt",
              "lu",
              "my",
              "mt",
              "mx",
              "ma",
              "nl",
              "nz",
              "ng",
              "no",
              "om",
              "pk",
              "pa",
              "py",
              "pe",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "ru",
              "sa",
              "rs",
              "sg",
              "sk",
              "si",
              "za",
              "kr",
              "es",
              "lk",
              "se",
              "ch",
              "tw",
              "tz",
              "th",
              "tn",
              "tr",
              "ua",
              "ae",
              "gb",
              "uy",
              "ve",
              "vn"
            ],
            "type": "string",
            "description": "Legacy search storefront. Maps to **🗺️ Storefront country**."
          },
          "scrapeAppUrls.urls": {
            "title": "📦 scrapeAppUrls.urls (legacy)",
            "type": "array",
            "description": "Legacy app-detail targets. Maps to **🔗 App URLs or package ids**.",
            "items": {
              "type": "string"
            }
          },
          "scrapeSimilarApps.urls": {
            "title": "🧩 scrapeSimilarApps.urls (legacy)",
            "type": "array",
            "description": "Legacy related-app source apps. Maps to **🧩 Source apps for related lookups**.",
            "items": {
              "type": "string"
            }
          },
          "count": {
            "title": "🔠 count (legacy)",
            "minimum": 0,
            "type": "integer",
            "description": "Legacy total row cap. Maps to **🔢 Maximum rows for this run**."
          },
          "cursor": {
            "title": "↩️ cursor (legacy)",
            "type": "string",
            "description": "Legacy reviews resume token. Maps to **↪️ Resume reviews from**."
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy",
            "type": "object",
            "description": "Apify Proxy settings used for this run.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}