{"id":13414054,"url":"https://github.com/n0madic/google-play-scraper","last_synced_at":"2025-07-30T12:32:38.427Z","repository":{"id":37898414,"uuid":"209804415","full_name":"n0madic/google-play-scraper","owner":"n0madic","description":"Golang scraper to get data from Google Play Store","archived":false,"fork":false,"pushed_at":"2023-10-14T12:28:08.000Z","size":85,"stargazers_count":79,"open_issues_count":2,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-07-31T20:53:20.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n0madic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-20T14:03:01.000Z","updated_at":"2024-07-20T13:22:23.000Z","dependencies_parsed_at":"2024-06-18T17:02:09.771Z","dependency_job_id":"22057d8e-e1b3-45e5-aaa0-b812ac11d27b","html_url":"https://github.com/n0madic/google-play-scraper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/n0madic/google-play-scraper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0madic%2Fgoogle-play-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0madic%2Fgoogle-play-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0madic%2Fgoogle-play-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0madic%2Fgoogle-play-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n0madic","download_url":"https://codeload.github.com/n0madic/google-play-scraper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0madic%2Fgoogle-play-scraper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267867803,"owners_count":24157357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:01:56.414Z","updated_at":"2025-07-30T12:32:37.873Z","avatar_url":"https://github.com/n0madic.png","language":"Go","funding_links":[],"categories":["Third-party APIs","第三方API","第三方api","第三方API`第三方API 汇总`","Utility"],"sub_categories":["HTTP Clients","Utility/Miscellaneous","查询语","实用程序/Miscellaneous","Fail injection"],"readme":"# google-play-scraper\n\n[![GoDoc](https://godoc.org/github.com/n0madic/google-play-scraper/pkg?status.svg)](https://godoc.org/github.com/n0madic/google-play-scraper/pkg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/n0madic/google-play-scraper)](https://goreportcard.com/report/github.com/n0madic/google-play-scraper)\n[![Coverage Status](https://coveralls.io/repos/github/n0madic/google-play-scraper/badge.svg?branch=master)](https://coveralls.io/github/n0madic/google-play-scraper?branch=master)\n\nGolang scraper to get data from Google Play Store\n\nThis project is inspired by the [google-play-scraper](https://github.com/facundoolano/google-play-scraper) node.js project\n\n## Installation\n\n```shell\ngo get -u github.com/n0madic/google-play-scraper/...\n```\n\n## Usage\n\n### Get app details\n\nRetrieves the full detail of an application.\n\n```go\npackage main\n\nimport (\n    \"github.com/davecgh/go-spew/spew\"\n    \"github.com/n0madic/google-play-scraper/pkg/app\"\n)\n\nfunc main() {\n    a := app.New(\"com.google.android.googlequicksearchbox\", app.Options{\n        Country:  \"us\",\n        Language: \"us\",\n    })\n    err := a.LoadDetails()\n    if err != nil {\n        panic(err)\n    }\n    err = a.LoadPermissions()\n    if err != nil {\n        panic(err)\n    }\n    spew.Dump(a)\n}\n```\n\n### Search apps\n\nRetrieves a list of apps that results of searching by the given term.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/search\"\n)\n\nfunc main() {\n    query := search.NewQuery(\"game\", search.PricePaid,\n        search.Options{\n            Country:  \"ru\",\n            Language: \"us\",\n            Number:   100,\n            Discount: true,\n            PriceMax: 100,\n            ScoreMin: 4,\n        })\n\n    err := query.Run()\n    if err != nil {\n        panic(err)\n    }\n\n    errors := query.LoadMoreDetails(20)\n    if len(errors) \u003e 0 {\n        panic(errors[0])\n    }\n\n    for _, app := range query.Results {\n        if !app.IAPOffers {\n            fmt.Println(app.Title, app.URL)\n        }\n    }\n}\n```\n\n### Get category\n\nReturns a list of clusters for the specified application category.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/category\"\n    \"github.com/n0madic/google-play-scraper/pkg/store\"\n)\n\nfunc main() {\n    clusters, err := category.New(store.Game, store.AgeFiveUnder, category.Options{\n        Country:  \"us\",\n        Language: \"us\",\n        Number:   100,\n    })\n    if err != nil {\n        panic(err)\n    }\n\n    clusterName := \"New \u0026 updated games\"\n    err = clusters[clusterName].Run()\n    if err != nil {\n        panic(err)\n    }\n\n    for _, app := range clusters[clusterName].Results {\n        fmt.Println(app.Title, app.URL)\n    }\n}\n```\n\n### Get collection\n\nRetrieve a list of applications from one of the collections at Google Play.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/collection\"\n    \"github.com/n0madic/google-play-scraper/pkg/store\"\n)\n\nfunc main() {\n    c := collection.New(store.TopNewPaid, collection.Options{\n        Country: \"uk\",\n        Number:  100,\n    })\n    err := c.Run()\n    if err != nil {\n        panic(err)\n    }\n\n    for _, app := range c.Results {\n        fmt.Println(app.Title, app.Price, app.URL)\n    }\n}\n```\n\n### Get developer applications\n\nReturns the list of applications by the given developer name or ID\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/developer\"\n)\n\nfunc main() {\n    dev := developer.New(\"Google LLC\", developer.Options{\n        Number: 100,\n    })\n    err := dev.Run()\n    if err != nil {\n        panic(err)\n    }\n\n    for _, app := range dev.Results {\n        fmt.Println(app.Title, \"by\", app.Developer, app.URL)\n    }\n}\n```\n\n### Get reviews\n\nRetrieves a page of reviews for a specific application.\n\nNote 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.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/reviews\"\n)\n\nfunc main() {\n    r := reviews.New(\"com.activision.callofduty.shooter\", reviews.Options{\n        Number: 100,\n    })\n\n    err := r.Run()\n    if err != nil {\n        panic(err)\n    }\n\n    for _, review := range r.Results {\n        fmt.Println(review.Score, review.Text)\n    }\n}\n```\n\n### Get similar\n\nReturns a list of similar apps to the one specified.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/similar\"\n)\n\nfunc main() {\n    sim := similar.New(\"com.android.chrome\", similar.Options{\n        Number: 100,\n    })\n    err := sim.Run()\n    if err != nil {\n        panic(err)\n    }\n\n    for _, app := range sim.Results {\n        fmt.Println(app.Title, app.URL)\n    }\n}\n```\n\n### Get suggest\n\nGiven a string returns up to five suggestion to complete a search query term.\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"github.com/n0madic/google-play-scraper/pkg/suggest\"\n)\n\nfunc main() {\n    sug, err := suggest.Get(\"chrome\", suggest.Options{\n        Country:  \"us\",\n        Language: \"us\",\n    })\n    if err != nil {\n        panic(err)\n    }\n\n    for _, s := range sug {\n        fmt.Println(s)\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0madic%2Fgoogle-play-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn0madic%2Fgoogle-play-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0madic%2Fgoogle-play-scraper/lists"}