Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"record_type": "<string>",
"record_id": "<string>",
"source_url": "<string>",
"package_id": "<string>",
"app_url": "<string>",
"app_title": "<string>",
"title": "<string>",
"developer": "<string>",
"developer_id": "<string>",
"developer_url": "<string>",
"developer_email": "<string>",
"developer_address": "<string>",
"category": "<string>",
"category_id": "<string>",
"price": 123,
"currency": "<string>",
"is_free": true,
"in_app_purchases": "<string>",
"installs": "<string>",
"installs_min": {},
"installs_exact": {},
"score": 123,
"ratings_count": {},
"reviews_count": {},
"rating_histogram": "<any>",
"description": "<string>",
"summary": "<string>",
"version": "<string>",
"android_version": "<string>",
"updated_at": {},
"released_at": {},
"content_rating": "<string>",
"content_rating_detail": "<string>",
"screenshots": "<any>",
"icon": "<string>",
"header_image": "<string>",
"privacy_policy_url": "<string>",
"video": "<string>",
"video_image": "<string>",
"ad_supported": true,
"recent_changes": "<string>",
"ranking": "<string>",
"review_id": "<string>",
"review_url": "<string>",
"author": "<string>",
"author_id": "<string>",
"author_image": "<string>",
"rating": 123,
"text": "<string>",
"thumbs_up": 123,
"review_date": {},
"app_version": "<string>",
"developer_reply": "<string>",
"reply_date": {},
"review_criterias": "<any>"
}Google Play Store Scraper
Get Results
Retrieve scraped data from Google Play Store Scraper
GET
/
v1
/
results
Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"record_type": "<string>",
"record_id": "<string>",
"source_url": "<string>",
"package_id": "<string>",
"app_url": "<string>",
"app_title": "<string>",
"title": "<string>",
"developer": "<string>",
"developer_id": "<string>",
"developer_url": "<string>",
"developer_email": "<string>",
"developer_address": "<string>",
"category": "<string>",
"category_id": "<string>",
"price": 123,
"currency": "<string>",
"is_free": true,
"in_app_purchases": "<string>",
"installs": "<string>",
"installs_min": {},
"installs_exact": {},
"score": 123,
"ratings_count": {},
"reviews_count": {},
"rating_histogram": "<any>",
"description": "<string>",
"summary": "<string>",
"version": "<string>",
"android_version": "<string>",
"updated_at": {},
"released_at": {},
"content_rating": "<string>",
"content_rating_detail": "<string>",
"screenshots": "<any>",
"icon": "<string>",
"header_image": "<string>",
"privacy_policy_url": "<string>",
"video": "<string>",
"video_image": "<string>",
"ad_supported": true,
"recent_changes": "<string>",
"ranking": "<string>",
"review_id": "<string>",
"review_url": "<string>",
"author": "<string>",
"author_id": "<string>",
"author_image": "<string>",
"rating": 123,
"text": "<string>",
"thumbs_up": 123,
"review_date": {},
"app_version": "<string>",
"developer_reply": "<string>",
"reply_date": {},
"review_criterias": "<any>"
}Retrieve scraped data from your Google Play Store Scraper runs. Two row types share the same table:
record_type = "app" for app listings, record_type = "review" for their reviews. Fields marked “App rows only” or “Review rows only” are left empty on the other type.
Headers
Query Parameters
Result Fields
Common
Title of the app this row belongs to, filled on review rows as well. Example:
WhatsApp MessengerApp rows
Price range of the in-app purchases the app offers, empty when it offers none. Example:
$0.99 - $49.99 per itemCurrent version of the app. Google Play leaves it empty for apps that publish device-specific builds; the version of the most recent review is used when available.
Minimum Android version the app requires (
8.0, 7.0, 6.0…). Empty for apps that ship device-specific builds.Chart position of the app on Google Play when it is ranked. Example:
#1 top free communicationReview rows
Sub-ratings the reviewer gave on the app’s own criteria, mostly on games. Empty on most reviews.
Code Examples
curl -G https://api.lobstr.io/v1/results \
-H "Authorization: Token YOUR_API_KEY" \
-d "squid=YOUR_SQUID_HASH" \
-d "page=1"
import requests
response = requests.get(
"https://api.lobstr.io/v1/results",
headers={"Authorization": "Token YOUR_API_KEY"},
params={"squid": "YOUR_SQUID_HASH", "page": 1},
)
print(response.json())
Response
200
{"total_results": 1, "data": [{"record_type": "review", "record_id": "d40bb75a-d1a5-44b3-863d-c8624445efe9", "source_url": "https://play.google.com/store/apps/details?id=com.whatsapp", "package_id": "com.whatsapp", "app_title": "WhatsApp Messenger", "author": "Jonathan Spencer", "rating": 1, "text": "The most useless app I've encountered since the last update.", "thumbs_up": 5, "review_date": "2026-08-28 20:40:15", "app_version": "2.26.33.74"}]}