PHPackages                             proget-hq/google-play-scraper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. proget-hq/google-play-scraper

ActiveLibrary[API Development](/categories/api)

proget-hq/google-play-scraper
=============================

A PHP scraper to get app data from Google Play

0.2.2(8y ago)33992MITHTML

Since Jan 4Pushed 8y ago1 watchersCompare

[ Source](https://github.com/proget-hq/google-play-scraper)[ Packagist](https://packagist.org/packages/proget-hq/google-play-scraper)[ Docs](https://github.com/raulr/google-play-scraper)[ RSS](/packages/proget-hq-google-play-scraper/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (4)Versions (6)Used By (0)

Google Play Scraper
===================

[](#google-play-scraper)

[![Build Status](https://camo.githubusercontent.com/45c165b0fa818c385de76f07a15a2d1477ad7a9ed18b5857ebdb09420c43a65b/68747470733a2f2f7472617669732d63692e6f72672f7261756c722f676f6f676c652d706c61792d736372617065722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/raulr/google-play-scraper)

A PHP scraper to get app data from Google Play.

Installation
------------

[](#installation)

Add `raulr/google-play-scraper` as a require dependency in your `composer.json` file:

```
$ composer require raulr/google-play-scraper
```

Usage
-----

[](#usage)

First create a `Scraper` instance.

```
use Raulr\GooglePlayScraper\Scraper;

$scraper = new Scraper();
```

There are several methods to configure the default behavior:

- `setDelay($delay)`: Sets the delay in milliseconds between requests to Google Play site.
- `setDefaultLang($lang)`: Sets the default language for all requests. `$lang` must be an [ISO\_639-1](https://en.wikipedia.org/wiki/ISO_639-1) two letter language code. If not set, the default language is `en`.
- `setDefaultCountry($country)`: Sets the default country for all requests. `$country` must be an [ISO\_3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) two letter country code. If not set, the default country is `us`.

### getApp

[](#getapp)

Gets app information given its ID.

#### Parameters

[](#parameters)

- `$id`: Google Play app identifier.
- `$lang`: (optional, defaults to `null`): Overrides the default language.
- `$country`: (optional, defaults to `null`): Overrides the default country.

#### Example

[](#example)

```
$app = $scraper->getApp('com.mojang.minecraftpe');
```

Returns:

```
array (
  'id' => 'com.mojang.minecraftpe',
  'url' => 'https://play.google.com/store/apps/details?id=com.mojang.minecraftpe',
  'image' => 'https://lh3.googleusercontent.com/30koN0eGl-LHqvUZrCj9HT4qVPQdvN508p2wuhaWUnqKeCp6nrs9QW8v6IVGvGNauA=w300',
  'title' => 'Minecraft: Pocket Edition',
  'author' => 'Mojang',
  'author_link' => 'https://play.google.com/store/apps/developer?id=Mojang',
  'categories' => array (
    'Arcade',
    'Creativity',
  ),
  'price' => '$6.99',
  'screenshots' => array (
    'https://lh3.googleusercontent.com/VkLE0e0EDuRID6jdTE97cC8BomcDReJtZOem9Jlb14jw9O7ytAGvE-2pLqvoSJ7w3IdK=h310',
    'https://lh3.googleusercontent.com/28b1vxJQe916wOaSVB4CmcnDujk8M2SNaCwqtQ4cUS0wYKYn9kCYeqxX0uyI2X-nQv0=h310',
    // [...]
  ),
  'description' => 'Our latest free update includes the Nether and all its inhabitants[...]',
  'description_html' => 'Our latest free update includes the Nether and all its inhabitants[...]',
  'rating' => 4.4726405143737793,
  'votes' => 1136962,
  'last_updated' => 'October 22, 2015',
  'size' => 'Varies with device',
  'downloads' => '10,000,000 - 50,000,000',
  'version' => 'Varies with device',
  'supported_os' => 'Varies with device',
  'content_rating' => 'Everyone 10+',
  'whatsnew' => 'Build, explore and survive on the go with Minecraft: Pocket Edition[...]',
  'video_link' => 'https://www.youtube.com/embed/D2Z9oKTzzrM?ps=play&vq=large&rel=0&autohide=1&showinfo=0&autoplay=1',
  'video_image' => 'https://i.ytimg.com/vi/D2Z9oKTzzrM/hqdefault.jpg',
)
```

The following fields may contain a `null` value: `price`, `size`, `downloads`, `version`, `whatsnew`, `video_link` and `video_image`. The `price` being `null` means the app is free.

### getApps

[](#getapps)

Gets information for multiple apps given their IDs.

#### Parameters

[](#parameters-1)

- `$ids`: Array of Google Play app identifiers.
- `$lang`: (optional, defaults to `null`): Overrides the default language.
- `$country`: (optional, defaults to `null`): Overrides the default country.

#### Example

[](#example-1)

```
$app = $scraper->getApps(array(
    'com.mojang.minecraftpe',
    'com.google.android.youtube',
));
```

### getCategories

[](#getcategories)

Returns an array with the existing categories in Google Play.

#### Example

[](#example-2)

```
use Raulr\GooglePlayScraper\Scraper;

$scraper = new Scraper();
$categories = $scraper->getCategories();
```

Returns:

```
array (
  'BOOKS_AND_REFERENCE',
  'BUSINESS',
  'COMICS',
  'COMMUNICATION',
  'EDUCATION',
  'ENTERTAINMENT',
  'FINANCE',
  'HEALTH_AND_FITNESS',
  'LIBRARIES_AND_DEMO',
  'LIFESTYLE',
  'APP_WALLPAPER',
  'MEDIA_AND_VIDEO',
  'MEDICAL',
  'MUSIC_AND_AUDIO',
  'NEWS_AND_MAGAZINES',
  'PERSONALIZATION',
  'PHOTOGRAPHY',
  'PRODUCTIVITY',
  'SHOPPING',
  'SOCIAL',
  'SPORTS',
  'TOOLS',
  'TRANSPORTATION',
  'TRAVEL_AND_LOCAL',
  'WEATHER',
  'APP_WIDGETS',
  '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',
  'FAMILY',
  'FAMILY_ACTION',
  'FAMILY_BRAINGAMES',
  'FAMILY_CREATE',
  'FAMILY_EDUCATION',
  'FAMILY_MUSICVIDEO',
  'FAMILY_PRETEND',
)
```

### getCollections

[](#getcollections)

Returns an array with the existing collections in Google Play.

#### Example

[](#example-3)

```
$collections = $scraper->getCollections();
```

Returns:

```
array (
  'topselling_free',
  'topselling_paid',
  'topselling_new_free',
  'topselling_new_paid',
  'topgrossing',
  'movers_shakers',
)
```

### getList

[](#getlist)

Retrieves a list of Google Play apps given a collection and optionally filtered by category.

#### Parameters

[](#parameters-2)

- `$collection`: Google Play collection to retrieve. See [getCollections](#getcollections) for possible values.
- `$category`: (optional, defaults to `null`) Filter request by this category. See [getCategories](#getcategories) for possible values.
- `$lang`: (optional, defaults to `null`): Overrides the default language.
- `$country`: (optional, defaults to `null`): Overrides the default country.

#### Example

[](#example-4)

```
$apps = $scraper->getList('topselling_free', 'SOCIAL');
```

Returns:

```
array (
  array (
    'id' => 'com.facebook.katana',
    'url' => 'https://play.google.com/store/apps/details?id=com.facebook.katana',
    'title' => 'Facebook',
    'image' => 'https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w340',
    'author' => 'Facebook',
    'rating' => 3.9888803958892822,
    'price' => null,
  ),
  array (
    'id' => 'com.snapchat.android',
    'url' => 'https://play.google.com/store/apps/details?id=com.snapchat.android',
    'title' => 'Snapchat',
    'image' => 'https://lh4.ggpht.com/vdK_CsMSsJoYvJpYgaj91fiJ1T8rnSHHbXL0Em378kQaaf_BGyvUek2aU9z2qbxJCAFV=w340',
    'author' => 'Snapchat Inc',
    'rating' => 3.8660063743591309,
    'price' => null,
  ),
  // [...]
)
```

### getDetailList

[](#getdetaillist)

Same as [getList](#getlist) but returning full detail app data. An additional request is made for every app from the list in order to get its details.

### getListChunk

[](#getlistchunk)

Retrieves a chunk of a Google Play app list.

#### Parameters

[](#parameters-3)

- `$collection`: Google Play collection to retrieve. See [getCollections](#getcollections) for possible values.
- `$category`: (optional, defaults to `null`) Filter request by this category. See [getCategories](#getcategories) for possible values.
- `$start`: (optional, defaults to `0`): Starting index. Must be a value between `0` and `500`.
- `$num`: (optional, defaults to `60`): Amount of apps to retrieve. Must be a value between `0` and `120`.
- `$lang`: (optional, defaults to `null`): Overrides the default language.
- `$country`: (optional, defaults to `null`): Overrides the default country.

#### Example

[](#example-5)

```
$apps = $scraper->getListChunk('topselling_free', 'SOCIAL', 20, 80);
```

### getDetailListChunk

[](#getdetaillistchunk)

Same as [getListChunk](#getlistchunk) but returning full detail app data. An additional request is made for every app from the list in order to get its details.

### getSearch

[](#getsearch)

Retrieves a list of Google Play apps given a search query and optionally filtered by price and rating.

#### Parameters

[](#parameters-4)

- `$query`: Search query.
- `$price`: (optional, defaults to `all`) Filter request by price. Possible values: `all`, `free`, `paid`.
- `$rating`: (optional, defaults to `all`) Filter request by rating. Possible values: `all`, `4+`.
- `$lang`: (optional, defaults to `null`): Overrides the default language.
- `$country`: (optional, defaults to `null`): Overrides the default country.

#### Example

[](#example-6)

```
$apps = $scraper->getSearch('unicorns', 'free', '4+');
```

### getDetailSearch

[](#getdetailsearch)

Same as [getSearch](#getsearch) but returning full detail app data. An additional request is made for every app from the search result in order to get its details.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~204 days

Total

5

Last Release

2962d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d00e1e73a4ff379162b943421469055929a95e7a6ce4c3808976dcc1fa28f4f?d=identicon)[akondas](/maintainers/akondas)

![](https://www.gravatar.com/avatar/e724eb6565c2f9abb7fa9e32ff52eec6854f6f963a274a09ffc55f9603cf43ce?d=identicon)[marmichalski](/maintainers/marmichalski)

---

Top Contributors

[![raulr](https://avatars.githubusercontent.com/u/682507?v=4)](https://github.com/raulr "raulr (14 commits)")[![akondas](https://avatars.githubusercontent.com/u/8239917?v=4)](https://github.com/akondas "akondas (3 commits)")

---

Tags

scrapergoogle\_play

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/proget-hq-google-play-scraper/health.svg)

```
[![Health](https://phpackages.com/badges/proget-hq-google-play-scraper/health.svg)](https://phpackages.com/packages/proget-hq-google-play-scraper)
```

###  Alternatives

[raulr/google-play-scraper

A PHP scraper to get app data from Google Play

12892.7k](/packages/raulr-google-play-scraper)[nelexa/google-play-scraper

Scrapes app data from Google Play store.

88487.4k](/packages/nelexa-google-play-scraper)[reliqarts/laravel-scavenger

The most integrated web scraper package for Laravel.

1571.5k](/packages/reliqarts-laravel-scavenger)[crawlbase/crawlbase

A lightweight, dependency free PHP class that acts as wrapper for Crawlbase API

1650.5k](/packages/crawlbase-crawlbase)[outscraper/outscraper

PHP bindings for the Outscraper API

1822.2k](/packages/outscraper-outscraper)[outscraper/google-maps-scraper-php

PHP bindings for the Outscraper API

185.1k](/packages/outscraper-google-maps-scraper-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
