App Store Review API Guide
When you're building or maintaining an app, understanding user feedback is critical. But manually checking App Store reviews doesn't scale. An app store review API lets you pull review data automatically, in structured format, so you can build tools, track trends, and respond to feedback at scale. This guide covers everything you need to know about Pullbay's App Store Review API and how to use it in your workflows.
What Is an App Store Review API?
An app store review API is a programmatic interface that lets you retrieve user reviews, ratings, and metadata directly from app stores like Apple's App Store. Instead of logging in manually and scrolling through reviews, an API lets you:
Fetch reviews programmatically using code
Retrieve structured data — score, text, author, date, country, version, and more
Automate monitoring with scheduled requests
Scale to hundreds of reviews without manual effort
Integrate with your own tools — dashboards, alerts, CRMs, databases
Why You Need an App Store Review API
Manual review monitoring is slow and error-prone. An API solves three core problems:
Speed — get fresh review data in seconds, not hours
Scale — fetch up to 500 reviews automatically without clicking through pages
Integration — feed review data directly into your analytics, CRM, or alerting systems
Whether you're tracking competitor apps, monitoring your own reputation, or analysing user feedback for feature development, an API approach is faster and more reliable than manual tools.
How Pullbay's App Store Review API Works
Pullbay's API retrieves reviews from Apple's App Store in three steps:
Key Features
Two Fetch Modes
The /api/appstore/reviews endpoint supports two mutually exclusive modes:
Bulk
maxItems=1–500
Pullbay paginates Apple's feed internally and returns all results in one response
Single page
page=1–10 (or omit)
Returns ~50 reviews for that page, with pagination.hasNextPage so you can iterate
maxItems and page cannot be used together in the same request.
App Identifier Options
Each request requires exactly one identifier — appId (numeric) or bundleId (reverse-domain). They cannot be used together.
Normalised Data
Review text, titles, and metadata are cleaned for consistency. Field names and types are stable across all responses.
Structured Error Responses
Errors follow the same envelope as success responses, with a clear error.code and message.
How to Fetch App Store Reviews: Practical Examples
You'll need:
A Pullbay API key — get one free at pullbay.com
An App Store numeric app ID (e.g.
284882215for X/Twitter) or bundle ID (e.g.com.atebits.Tweetie2)
cURL
Python
Bulk Fetch — All Reviews in One Call
Use maxItems=500 to get up to 500 reviews in a single request. Pullbay paginates Apple's feed internally and returns everything at once:
Page-by-Page Iteration
Use page when you want to process reviews incrementally or stop early:
Understanding the API Response
Every Pullbay response follows the same envelope:
Top-Level Fields
requestId
Unique request identifier — log this for every call; it is the key piece of information when contacting support
success
true on success, false on error
data
Array of review objects
pagination
Page state — only meaningful when using page mode; fields are null in bulk (maxItems) mode
pricing.creditsCharged
Credits consumed by this request
Review Object Fields
id
string
Unique review identifier — use as primary key for deduplication
score
integer 1–5
Star rating
title
string
Review headline
text
string
Full review body
userName
string
Reviewer's App Store display name
userUrl
string
Link to reviewer's profile
date
string
ISO 8601 datetime when the review was posted
version
string
App version the reviewer had installed
url
string
Direct link to the review (for developer reply)
country
string
2-letter country code of the storefront
Pagination Fields
pagination is only meaningful in page mode. In maxItems (bulk) mode, all fields are null.
hasNextPage
true if more pages exist — use to control your iteration loop
page
The page number returned
Error Responses
400
VALIDATION_ERROR
Invalid parameter name or value
401
AUTHENTICATION_UNAUTHORIZED
Invalid or missing API key
402
TEAM_INSUFFICIENT_CREDITS
Credit balance is 0
429
RATE_LIMIT_EXCEEDED
Request rate exceeded for your plan
5xx
—
Server-side error; retry with backoff
Rate Limits
Rate limits are enforced per API key on a per-second and per-minute basis. Exact limits depend on your plan — check the dashboard under Account → Plan. Credits are charged per review returned, not per request.
Failed requests (any non-2xx response) do not consume credits.
Frequently Asked Questions
Next Steps
Get your API key — sign up at pullbay.com and create a key from the dashboard
Run your first request — copy the cURL example above and replace
YOUR_API_KEYwith your actual keySet up monitoring — see the Review Monitoring Guide for scheduling patterns, alerting, and database storage
Build integrations — see the n8n, Google Sheets, and Backend Integration guides for workflow examples
For questions or to report issues, contact [email protected] and include the requestId from the error response.
Key Takeaways
The endpoint is
GET https://api.pullbay.com/appstore/reviewsUse
appId(numeric) orbundleId(reverse-domain) — exactly one, never bothUse
maxItems=1–500for a bulk single-call fetch; usepage=1–10to iterate page by page — never both in the same requestSort options are
recent(default) andhelpfulonlyReview fields:
score(notrating),text(notcontent),userName(notauthor)Credits are reported in
pricing.creditsCharged— log it alongsiderequestIdfor every callCheck
pagination.hasNextPage(nothas_more) when paginatingFailed requests do not consume credits
Maximum 500 reviews per app per country (Apple's feed limit)
Last updated