google-play-scraper alternatives and similar packages
Based on the "Third-party APIs" category.
Alternatively, view google-play-scraper alternatives based on common mentions on social networks and blogs.
-
go-openai
OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go -
telegram-bot-api
Golang bindings for the Telegram Bot API -
minio-go
MinIO Go client SDK for S3 compatible object storage -
goamz
Popular fork of goamz which adds some missing API calls to certain packages. -
webhooks
:fishing_pole_and_fish: Webhook receiver for GitHub, Bitbucket, GitLab, Gogs -
githubql
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). -
twitter-scraper
Scrape the Twitter frontend API without authentication with Golang. -
geo-golang
Go library to access geocoding and reverse geocoding APIs -
lark
Feishu(飞书)/Lark Open API Go SDK, Support ALL Open API and Event Callback. -
openaigo
OpenAI GPT3/3.5 and GPT4 ChatGPT API Client Library for Go, simple, less dependencies, and well-tested -
VK SDK for Golang
Golang module for working with VK API -
go-lark
An easy-to-use SDK for Feishu and Lark Open Platform (Instant Messaging API only) -
hipchat (xmpp)
A golang package to communicate with HipChat over XMPP -
gostorm
GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -
clarifai
DEPRECATED: please use https://github.com/Clarifai/clarifai-go-grpc -
go-trending
Go library for accessing trending repositories and developers at Github. -
hipchat
This project implements a Go client library for the Hipchat API. -
simples3
Simple no frills AWS S3 Golang Library using REST with V4 Signing (without AWS Go SDK) -
go-tgbot
Golang telegram bot API wrapper, session-based router and middleware -
cachet
Go(lang) client library for Cachet (open source status page system). -
go-atlassian
✨ Golang Client Library for Atlassian Cloud. -
ynab
Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API.
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of google-play-scraper or a related project?
README
google-play-scraper
Golang scraper to get data from Google Play Store
This project is inspired by the google-play-scraper node.js project
Installation
go get -u github.com/n0madic/google-play-scraper/...
Usage
Get app details
Retrieves the full detail of an application.
package main
import (
"github.com/davecgh/go-spew/spew"
"github.com/n0madic/google-play-scraper/pkg/app"
)
func main() {
a := app.New("com.google.android.googlequicksearchbox", app.Options{
Country: "us",
Language: "us",
})
err := a.LoadDetails()
if err != nil {
panic(err)
}
err = a.LoadPermissions()
if err != nil {
panic(err)
}
spew.Dump(a)
}
Search apps
Retrieves a list of apps that results of searching by the given term.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/search"
)
func main() {
query := search.NewQuery("game", search.PricePaid,
search.Options{
Country: "ru",
Language: "us",
Number: 100,
Discount: true,
PriceMax: 100,
ScoreMin: 4,
})
err := query.Run()
if err != nil {
panic(err)
}
errors := query.LoadMoreDetails(20)
if len(errors) > 0 {
panic(errors[0])
}
for _, app := range query.Results {
if !app.IAPOffers {
fmt.Println(app.Title, app.URL)
}
}
}
Get category
Returns a list of clusters for the specified application category.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/category"
"github.com/n0madic/google-play-scraper/pkg/store"
)
func main() {
clusters, err := category.New(store.Game, store.SortNewest, store.AgeFiveUnder, category.Options{
Language: "us",
Number: 100,
})
if err != nil {
panic(err)
}
err = clusters["Top New Free Games"].Run()
if err != nil {
panic(err)
}
for _, app := range clusters["Top New Free Games"].Results {
fmt.Println(app.Title, app.URL)
}
}
Get collection
Retrieve a list of applications from one of the collections at Google Play.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/collection"
"github.com/n0madic/google-play-scraper/pkg/store"
)
func main() {
c := collection.New(store.TopNewPaid, collection.Options{
Country: "uk",
Number: 100,
})
err := c.Run()
if err != nil {
panic(err)
}
for _, app := range c.Results {
fmt.Println(app.Title, app.Price, app.URL)
}
}
Get developer applications
Returns the list of applications by the given developer name or ID
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/developer"
)
func main() {
dev := developer.New("Google LLC", developer.Options{
Number: 100,
})
err := dev.Run()
if err != nil {
panic(err)
}
for _, app := range dev.Results {
fmt.Println(app.Title, "by", app.Developer, app.URL)
}
}
Get reviews
Retrieves a page of reviews for a specific application.
Note that this method returns reviews in a specific language (english by default), so you need to try different languages to get more reviews. Also, the counter displayed in the Google Play page refers to the total number of 1-5 stars ratings the application has, not the written reviews count. So if the app has 100k ratings, don't expect to get 100k reviews by using this method.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/reviews"
)
func main() {
r := reviews.New("com.activision.callofduty.shooter", reviews.Options{
Number: 100,
})
err := r.Run()
if err != nil {
panic(err)
}
for _, review := range r.Results {
fmt.Println(review.Score, review.Text)
}
}
Get similar
Returns a list of similar apps to the one specified.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/similar"
)
func main() {
sim := similar.New("com.android.chrome", similar.Options{
Number: 100,
})
err := sim.Run()
if err != nil {
panic(err)
}
for _, app := range sim.Results {
fmt.Println(app.Title, app.URL)
}
}
Get suggest
Given a string returns up to five suggestion to complete a search query term.
package main
import (
"fmt"
"github.com/n0madic/google-play-scraper/pkg/suggest"
)
func main() {
sug, err := suggest.Get("chrome", suggest.Options{
Country: "us",
Language: "us",
})
if err != nil {
panic(err)
}
for _, s := range sug {
fmt.Println(s)
}
}