Export App Store & Google Play Reviews to CSV — Free

No account linking, no scraping, no paywall: follow the step-by-step guides to export your app store reviews, then paste up to 50 reviews below for an instant AI mini summary. KnowVault never sees your developer credentials.

How to export Google Play reviews (Play Console)

Google Play lets you download reviews as monthly CSV files straight from the console. Six steps, about two minutes.

  1. Open Play Console and sign in

    Go to play.google.com/console and sign in with the Google account that owns your developer account. Any account user can open the console, but downloading reports requires the View app information permission (account owners have it by default).

  2. Click “Download reports” in the left menu

    On the All apps dashboard, find Download reports in the left navigation (under “Reports”). Click it and choose Reviews — not Statistics or Financial.

  3. Select your application

    Under “Select an application”, type your app's name and pick it from the dropdown.

  4. Pick the year and month, then download

    Reviews export as monthly CSV files (one file per month, named like reviews_com.yourapp_202609.csv). Select the year and month you want and the CSV downloads to your computer. Download every month you need — the file only covers that single month.

  5. Know what to expect inside the file

    Each row is one review. Key columns: Star Rating (1–5), Review Title, Review Text, Review Submit Date and Time (UTC), plus App Version Code/Name, Reviewer Language, Device, Developer Reply columns, and a Review Link. Only reviews with written text are included — star-only ratings are not in this report. KnowVault reads the Rating and Text columns automatically.

  6. Mind the delay (3–7 days)

    Google captures data daily and posts it within 3 to 7 days — the current month's file won't have the last few days yet. For a full picture, also download last month's file. The reports are also mirrored to a private Google Cloud Storage bucket (gs://…/reviews/reviews_…_YYYYMM.csv) — those files are UTF-16 encoded; if a tool garbles them, re-save as UTF-8.

Path and file format per Google's official “Download and export monthly reports” help page.

How to export App Store reviews (App Store Connect)

Apple doesn't offer a reviews export button — so here is a copy-paste script that does it for you with your own API key, locally.

  1. Why there is no export button

    App Store Connect has no “Download reviews CSV” button — the dashboard lets you browse ratings, but Apple only gives programmatic access. Below is a small read-only Python script you run on your own machine with your own API key. It calls Apple's official App Store Connect API, converts the JSON to a CSV, and uploads nothing anywhere.

  2. Create an App Store Connect API key

    In App Store Connect go to Users and Access → Integrations → App Store Connect API → Team Keys (an Account Holder must request access once). Click +, name the key (e.g. review-export), pick the Developer role or higher, then Generate. You'll get three things: Issuer ID (a UUID at the top of the page), a Key ID (10 characters), and the .p8 private key file — which can be downloaded exactly once, so store it safely.

  3. Find your App ID

    In App Store Connect open General → App Information (your app page) and copy the Apple ID — a ~10-digit number. That is the APP_ID the script needs.

  4. Run the script, get reviews.csv

    Save the script below as export_reviews.py, fill in the three values at the top, run pip install requests pyjwt then python export_reviews.py. You get reviews.csv with Rating / Title / Body / Date columns — the same shape KnowVault's uploader expects. The key stays on your machine; the script only talks to Apple.

export_reviews.py
#!/usr/bin/env python3
"""
export_reviews.py — read-only App Store reviews -> CSV exporter.

Fills nothing in for you: YOU paste YOUR OWN credentials below. The key never
leaves your machine — the script only calls Apple's official App Store Connect
API (GET customerReviews) and writes a local CSV file.

Requires: Python 3.8+,  pip install requests pyjwt cryptography
Run:      python export_reviews.py   ->  reviews.csv
"""

import csv
import time
import jwt  # pyjwt
import requests

# ── 1. Fill in YOUR values (from App Store Connect > Users and Access) ──────
ISSUER_ID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  # Issuer ID (UUID)
KEY_ID    = "XXXXXXXXXX"                            # Key ID (10 chars)
KEY_FILE  = "AuthKey_XXXXXXXXXX.p8"                 # downloaded .p8 private key
APP_ID    = "123456789"                             # your app's Apple ID
MAX_PAGES = 10                                      # 200 reviews per page

# ── 2. Sign a short-lived JWT (Apple requires < 20 min tokens) ──────────────
with open(KEY_FILE, "r", encoding="utf-8") as fh:
    private_key = fh.read()

token = jwt.encode(
    {"iss": ISSUER_ID, "iat": int(time.time()),
     "exp": int(time.time()) + 19 * 60, "aud": "appstoreconnect-v1"},
    private_key, algorithm="ES256", headers={"kid": KEY_ID},
)

# ── 3. Page through your reviews (read-only GET) ────────────────────────────
rows, url, seen = [], (
    f"https://api.appstoreconnect.apple.com/v1/apps/{APP_ID}/customerReviews"
    "?sort=-createdDate&limit=200"
), set()

while url and len(rows) < MAX_PAGES * 200:
    resp = requests.get(url, headers={"Authorization": f"Bearer {token}"})
    resp.raise_for_status()
    for r in resp.json().get("data", []):
        a, rid = r["attributes"], r["id"]
        if rid in seen:
            continue
        seen.add(rid)
        rows.append({
            "rating":  a.get("rating", ""),
            "title":   (a.get("title") or "").replace("\n", " ").strip(),
            "body":    (a.get("body") or "").replace("\n", " ").strip(),
            "date":    (a.get("createdDate") or "")[:10],
            "territory": a.get("territory", ""),
        })
    url = resp.json().get("links", {}).get("next")

# ── 4. Write CSV in the shape KnowVault's uploader expects ──────────────────
with open("reviews.csv", "w", newline="", encoding="utf-8") as fh:
    writer = csv.DictWriter(fh, fieldnames=["rating", "title", "body", "date", "territory"])
    writer.writeheader()
    writer.writerows(rows)

print(f"Done: {len(rows)} reviews -> reviews.csv")

API details per Apple's official “List all customer reviews for an app” endpoint.

Free mini summary — paste up to 50 reviews

AI reads your reviews and returns theme clusters + sentiment — results open on a report page you can revisit. Five free analyses per visitor (no account), 5 every month with a free account.

Exported your reviews?

Analyze all of them with AI — one click

The mini summary above reads 50 reviews. Upload your full CSV and KnowVault's AI turns thousands of app reviews into theme clusters, sentiment breakdown, version-regression alerts, and a prioritized fix list.

Free beta · No credit card required

Analyze with AI →

Frequently Asked Questions

Is there a free way to export app store reviews?

Yes. Google Play exports reviews as monthly CSV files directly from Play Console (guide above). The App Store has no export button, but the free script in this page pulls your reviews through Apple's official API with your own key — no paid tool required.

How far back do the exports go?

Google Play's Download reports section serves monthly files for past months — download each month you need (allow 3–7 days of lag on the most recent one). The App Store script pages back through your most recent reviews via Apple's API.

Do you store my API key or my reviews?

No. The script runs on your machine and only talks to Apple. The mini summary sends only the reviews you paste to our analysis API — and you can delete the upload afterwards. We never ask for, see, or store developer credentials.

What is the difference between the mini summary and the full report?

The mini summary is an instant AI read of up to 50 pasted reviews. The full report digests your entire CSV — thousands of reviews — into theme clusters, sentiment distribution, version-regression alerts, and a prioritized fix list.