Skip to content

Export Formats

App Reviews supports three export formats: JSON, JSONL, and CSV.


Formats at a Glance

Format Best For
JSON Programmatic use, API responses, structured data
JSONL Streaming, large datasets, line-by-line processing
CSV Spreadsheets, data analysis, importing into other tools

JSON

Exports reviews as a JSON array.

from app_reviews import AppStoreReviews
from app_reviews.exporters.json import export_json

client = AppStoreReviews()
result = client.fetch("123456789")

# Get JSON string
json_text = export_json(result.reviews)

# Write to file
export_json(result.reviews, output="reviews.json")

# Overwrite existing file
export_json(result.reviews, output="reviews.json", overwrite=True)

# Include raw API payload
export_json(result.reviews, output="reviews.json", include_raw=True)

Parameters

Parameter Type Default Description
reviews list[Review] Required Reviews to export.
output str, Path, or None None File path. If None, only returns the string.
overwrite bool False Overwrite if file exists.
include_raw bool False Include raw API response per review.

Output Structure

[
  {
    "store": "appstore",
    "id": "12345",
    "app_id": "123456789",
    "country": "us",
    "rating": 5,
    "title": "Great app",
    "body": "Love this app!",
    "author_name": "John",
    "created_at": "2025-01-15 10:30:00",
    "source": "appstore_scraper",
    "fetched_at": "2025-01-20 08:00:00",
    "language": null,
    "app_version": "2.1.0",
    "updated_at": null,
    "is_edited": false
  }
]

JSONL

Exports reviews as newline-delimited JSON. Each line is one review. Useful for streaming and large datasets.

from app_reviews import AppStoreReviews
from app_reviews.exporters.jsonl import export_jsonl

client = AppStoreReviews()
result = client.fetch("123456789")

# Get JSONL string
jsonl_text = export_jsonl(result.reviews)

# Write to file
export_jsonl(result.reviews, output="reviews.jsonl")

# Include raw API payload
export_jsonl(result.reviews, output="reviews.jsonl", include_raw=True)

Parameters

Parameter Type Default Description
reviews list[Review] Required Reviews to export.
output str, Path, or None None File path. If None, only returns the string.
overwrite bool False Overwrite if file exists.
include_raw bool False Include raw API response per review.

Output Structure

{"store": "appstore", "id": "12345", "rating": 5, "title": "Great app", ...}
{"store": "appstore", "id": "12346", "rating": 3, "title": "OK", ...}

CSV

Exports reviews as a standard CSV file with headers.

from app_reviews import AppStoreReviews
from app_reviews.exporters.csv import export_csv

client = AppStoreReviews()
result = client.fetch("123456789")

# Get CSV string
csv_text = export_csv(result.reviews)

# Write to file
export_csv(result.reviews, output="reviews.csv")

Parameters

Parameter Type Default Description
reviews list[Review] Required Reviews to export.
output str, Path, or None None File path. If None, only returns the string.
overwrite bool False Overwrite if file exists.

CSV Columns

id, app_id, country, language, rating, title, body, author_name, app_version, created_at, updated_at, is_edited, source, fetched_at

Note

CSV does not support include_raw. The raw API payload is excluded because it contains nested JSON that doesn't fit the flat CSV format.