Skip to content
 
 

Latest commit

 

History

261 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Play API

GitHub tag (latest SemVer pre-release) Bruno Run API Documentation License: ISC

Google Play API is a REST API wrapper originally built on top of google-play-scraper by Facundoolano to fetch metadata from Google Play. This repository extends it and adds additional endpoints.

Repository: https://github.com/srikanthlogic/google-play-api

Development: For detailed information about contributing to this project, please see our Development Guide.

Key Features

  • App Discovery: Search for apps by name, get suggestions, and browse collections
  • App Details: Access comprehensive app information including descriptions, ratings, and screenshots
  • Reviews & Ratings: Fetch app reviews with privacy-friendly options and sorting capabilities
  • Developer Information: Get all apps published by a specific developer
  • Categories & Collections: Browse apps by category or collection (top free, trending, etc.)
  • Data Safety & Permissions: Access app data safety information and required permissions
  • Similar Apps: Discover apps similar to a specific application
  • RESTful API: Clean, consistent REST endpoints with JSON responses
  • Interactive Documentation: Built-in API documentation for easy exploration

Quick Start

Installation

  1. Clone the repository:

    git clone https://github.com/srikanthlogic/google-play-api.git
    cd google-play-api
  2. Install dependencies:

    npm install
  3. Generate OpenAPI specification:

    npm run generateoas
  4. Start the server:

    npm start

The server will start on port 3000, and you can access the API documentation at http://localhost:3000/api-docs

Usage Examples

Search for Apps

# Search for apps
curl "http://localhost:3000/api/apps/?q=facebook"

# Get search suggestions
curl "http://localhost:3000/api/apps/?suggest=photo"

Get App Details

# Get detailed information about an app
curl "http://localhost:3000/api/apps/com.facebook.katana"

# Get similar apps
curl "http://localhost:3000/api/apps/com.facebook.katana/similar"

Reviews and Ratings

# Get app reviews (privacy-friendly by default)
curl "http://localhost:3000/api/apps/com.facebook.katana/reviews"

# Get reviews with user data and developer replies
curl "http://localhost:3000/api/apps/com.facebook.katana/reviews?userdata=true&replies=true"

# Get reviews sorted by helpfulness
curl "http://localhost:3000/api/apps/com.facebook.katana/reviews?sort=helpful"

Developer and Category Information

# Get all apps by a developer
curl "http://localhost:3000/api/developers/Wikimedia%20Foundation"

# Get list of all categories
curl "http://localhost:3000/api/categories/"

# Get list of all collections
curl "http://localhost:3000/api/collections/"

# Get apps in a specific collection and category
curl "http://localhost:3000/api/lists/?collection=TOP_FREE&category=PRODUCTIVITY"

Data Safety and Permissions

# Get app permissions
curl "http://localhost:3000/api/apps/com.facebook.katana/permissions"

# Get data safety information
curl "http://localhost:3000/api/apps/com.facebook.katana/datasafety"

API Documentation

For complete API documentation, including all endpoints, parameters, and response formats, visit:

Test Coverage

The project uses Bruno for API testing with comprehensive test coverage. Bruno is a Git-friendly, open-source API client that stores API requests as plain text files.

Test Suite Requests Assertions Status
GPlayAPIUnitTests 5 28 ✅ All Pass
GooglePlayAPI 12 71 ✅ All Pass
Total 17 99 ✅ 100%

Running Tests

npm test

This will:

  1. Start the server automatically
  2. Execute all Bruno collections
  3. Report test results
  4. Shut down the server

Test Structure

Tests are organized in the bruno/ directory:

  • bruno/GooglePlayAPI/ - Main API endpoint tests (Apps, Developers, Categories, Lists, Collections)
  • bruno/GPlayAPIUnitTests/ - Unit tests for privacy features and app reviews
  • bruno/*/environments/Local.bru - Environment variables for local testing

Contributing

For detailed information about contributing to this project, including development setup, code style guidelines, and the contribution process, please see our Development Guide.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Turns google-play-scraper into a RESTful API

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages