TanLabs App Store Review JSON Validator
Requires Python 3.10+; standard library only. No signup, upload or network requests.

1. Extract this ZIP and open a terminal in the extracted folder.
2. Run the valid synthetic demo:
   python3 validate_output.py demo-export.json --json
   Expected exit: 0; ok:true, summaryRows:1, reviewRows:3.
3. Run the intentionally broken synthetic demo:
   python3 validate_output.py demo-invalid-export.json --json
   Expected exit: 1; ok:false, rating must be an integer 1..5.
4. Replace demo-export.json with your exported TanLabs dataset JSON.
   python3 validate_output.py your-export.json --json

Windows: use py -3 or python instead of python3 if needed.
Exit codes: 0=checks passed, 1=data validation failure, 2=file/JSON input error.
Readable mode: omit --json.
Complete export mode (all expected review rows):
   python3 validate_output.py your-export.json --json --require-reviews
This compares row count and star buckets per app/country. Do not use this mode
for summary-only or filtered exports; those can pass only in default mode.
Both modes compare the fetched average with weighted star counts (3 decimals).
Accepted shapes: JSON array, one object, or {"items": [...]}.

Scope: TanLabs App Store Review Insights summary/review schema. Other scrapers
need a field mapping. Export both views together for a mixed dataset check.
Summary-only exports are supported by default. Use --require-reviews when all
rows are expected. PASS never proves full historical coverage or theme semantics. A zero-review summary is flagged for scope
review, even when it is a legitimate empty feed.

Synthetic examples are invented fixtures, not real App Store customer reviews.
This script does not fetch reviews or run a paid Actor.
Read/edit the Python source before using it in your own pipeline.
The validator may be used and modified for your own local reporting workflows.

Page: https://funmagi.com/tools/app-store-review-validator/
Optional data source and current pricing:
https://apify.com/tanlabs/app-store-review-insights
Independent tool; not affiliated with Apple or Apify.
