PHPackages                             undefinedor/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. undefinedor/google-play-scraper

ActiveLibrary

undefinedor/google-play-scraper
===============================

A PHP scraper to get app data from Google Play

V0.0.1(10y ago)581.5k1MITHTML

Since Nov 24Pushed 10y ago1 watchersCompare

[ Source](https://github.com/undefinedor/google-play-scraper)[ Packagist](https://packagist.org/packages/undefinedor/google-play-scraper)[ Docs](https://github.com/raulr/google-play-scraper)[ RSS](/packages/undefinedor-google-play-scraper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

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

[](#google-play-scraper)

A PHP scraper to get app data from Google Play.

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

[](#installation)

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

```
$ composer require undefinedor/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.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

3820d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

scrapergoogle\_play

###  Code Quality

TestsPHPUnit

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/undefinedor-google-play-scraper/health.svg)](https://phpackages.com/packages/undefinedor-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)[layered/page-meta

Get detailed info for any URL on the internet! Scraper for HTML, OpenGraph, Schema data

1131.5k](/packages/layered-page-meta)[topshelfcraft/scraper

Easily fetch, parse, and rejigger HTML or XML from anywhere.

172.2k](/packages/topshelfcraft-scraper)[laurentvw/scrapher

A web scraper for PHP to easily extract data from web pages

192.5k1](/packages/laurentvw-scrapher)

PHPackages © 2026

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