Skip to content

Latest commit

 

History

History
118 lines (84 loc) · 2.87 KB

File metadata and controls

118 lines (84 loc) · 2.87 KB

App Store Data API — Python (apify-client) examples

Call the hosted Actor logiover/app-store-data-api from Python with the official apify-client.

Install

pip install apify-client

Search apps by keyword

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "search",
    "query": "meditation",
    "country": "us",
    "maxResults": 50,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], "—", item.get("score"))

Full details for a batch of apps

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "app",
    "appIds": ["com.spotify.client", "com.google.ios.youtube"],
    "country": "us",
})

for app in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f'{app["title"]}: {app.get("score")}★ ({app.get("reviews")} reviews)')

Reviews → pandas DataFrame

import pandas as pd
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "reviews",
    "id": 324684580,
    "country": "us",
    "reviewSort": "RECENT",
    "maxResults": 500,
})

items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
df = pd.DataFrame(items)
print(df[["userName", "score", "title", "date"]].head())
print("Average stars:", df["score"].mean())

ASO keyword research (suggest mode)

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "suggest",
    "query": "budget",
    "country": "us",
})

for kw in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f'#{kw.get("position")}  {kw.get("term")}')

Apple Privacy Labels for compliance review

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "privacy",
    "appId": "com.spotify.client",
    "country": "us",
})

for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row.get("privacyTypes"))

Export a dataset straight to CSV

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/app-store-data-api").call(run_input={
    "mode": "list", "collection": "TOP_FREE_IOS", "country": "us", "maxResults": 100,
})

csv_bytes = client.dataset(run["defaultDatasetId"]).download_items(item_format="csv")
with open("top_free_us.csv", "wb") as f:
    f.write(csv_bytes)

See also: cli.md · api-curl.md · javascript.md