Apple App Store Reviews Scraper API

/search?engine=apple_reviews API endpoint allows you to scrape the results from Apple Reviews search engine via our SerpApi service. Head to the playground for a live and interactive demo.

API Parameters

Search Query

product_id

Required

Parameter defines the ID of a product you want to get the reviews for.
You can find the ID of a product from App Store API json results,
You can also get it from the URL of the app. For example
product_id of "https://apps.apple.com/us/app/the-great-coffee-app/id534220544", is the long numerical value that comes after "id", 534220544 (default).

Localization

country

Optional

Parameter defines the country to use for the search. It's a two-letter country code. (e.g., us (default) for the United States, uk for United Kingdom, or fr for France). Head to the Apple Regions for a full list of supported Apple Regions.

Pagination

page

Optional

Parameter is used to get the items on a specific page. (e.g., 1 (default) is the first page of results, 2 is the 2nd page of results, 3 is the 3rd page of results, etc.).

Advanced Apple Reviews Parameters

sort

Optional

Parameter is used for sorting reviews for the iOS App Store (iPhone and iPad).

It can be set to:
mostrecent: Most recent (default),
mosthelpful: Most helpful,
mostfavorable: Most favorable,
mostcritical: Most critical
This parameter has no effect on the macOS App Store. Reviews from the macOS App Store will always be sorted from most recent to least recent.

Serpapi Parameters

engine

Required

Set parameter to apple_reviews to use the Apple Reviews engine.

no_cache

Optional

Parameter will force SerpApi to fetch the Apple Reviews results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.

async

Optional

Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.

zero_trace

Optional

Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.

api_key

Required

Parameter defines the SerpApi private key to use.

output

Optional

Parameter defines the final output you want. It can be set to json (default) to get a structured JSON of the results, or html to get the raw html retrieved.

API Results

JSON Results

JSON output includes structured data for reviews results.

A search status is accessible through search_metadata.status. It flows this way: Processing -> Success || Error. If a search has failed, the error will contain an error message. search_metadata.id is the search ID inside SerpApi.

HTML Results

HTML output is useful to debug JSON results or support features not supported yet by SerpApi. HTML output gives you the raw HTML result from Apple Reviews.
This API does not have html response, just a text. search_metadata.prettify_html_file contains prettified version of result. It is displayed in playground.

API Examples

JSON structure overview

{
  ...
  "search_information": {
    "reviews_for_currrent_version": "Integer, Number of reviews (with or without a text) for current version of the app",
    "total_page_count": "Integer, Total number of pages of reviews",
    "reviews_results_state": "String, State of the reviews results (Ex: Results for exact ID number.)",
    "results_count": "Integer, Number of reviews results returned"
  },
  "reviews": [
    {
      "position": "Integer, Position of the review (Ex: 1)",
      "id": "String, Unique identifying number of the review (Ex: 7417861364)",
      "title": "String, Title of the review, (Ex: Lacks ratios)",
      "text": "String, Body text of the review, (Ex: Beautiful app with images and videos but doesn’t tell you how much of what goes in making the drink. Needs ratios!)",
      "rating": "Integer, Rating of the review, (Ex: 3)",
      "review_date": "String, Date of the review (Ex: Jun 02, 2021)",
      "author": {
        "name": "String, Username of the reviewer",
        "author_id": "String, Unique user id of the author (Ex: 000000000)",
      }
    }
    ...
  ],
  ...
}

Example results for product_id:534220544

Example results for product_id:534220544

JSON Example

{
  "search_metadata": {
    "id": "63a3981f40c4a9011f99805e",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/19d2c6255a76b8eb/63a3981f40c4a9011f99805e.json",
    "created_at": "2022-12-21 23:34:55 UTC",
    "processed_at": "2022-12-21 23:34:55 UTC",
    "apple_reviews_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&id=534220544&sortOrdering=0&type=Purple+Software",
    "raw_html_file": "https://serpapi.com/searches/19d2c6255a76b8eb/63a3981f40c4a9011f99805e.html",
    "prettify_html_file": "https://serpapi.com/searches/19d2c6255a76b8eb/63a3981f40c4a9011f99805e.prettify",
    "total_time_taken": 2.03
  },
  "search_parameters": {
    "engine": "apple_reviews",
    "product_id": "534220544",
    "sort": "mostrecent",
    "page": "1"
  },
  "search_information": {
    "total_page_count": 8,
    "reviews_results_state": "Results for exact ID number.",
    "results_count": 25
  },
  "reviews": [
    {
      "position": 1,
      "id": "7417861364",
      "title": "Lacks ratios",
      "text": "Beautiful app with images and videos but doesn’t tell you how much of what goes in making the drink. Needs ratios!",
      "rating": 3,
      "review_date": "Jun 02, 2021",
      "reviewed_version": "Version 3.4.2",
      "author": {
        "name": "Punkiepollo",
        "author_id": "100937133"
      }
    },
    {
      "position": 2,
      "id": "5871333831",
      "title": "Great interface, could use a little more variation",
      "text": "It could use more espresso based drink preparation (e.g cortado, au lait, bombon).",
      "rating": 3,
      "review_date": "Apr 27, 2020",
      "reviewed_version": "Version 3.4",
      "author": {
        "name": "Paolo Gil",
        "author_id": "162035025"
      }
    },
    {
      "position": 3,
      "id": "5064162668",
      "title": "Coffee",
      "text": "Very great app",
      "rating": 5,
      "review_date": "Nov 01, 2019",
      "reviewed_version": "Version 3.3.2",
      "author": {
        "name": "Farhad golkar",
        "author_id": "184905578"
      }
    },
    ...
  ],
  "serpapi_pagination": {
    "current": "https://serpapi.com/search.json?country=us&engine=apple_reviews&page=1&product_id=534220544",
    "next": "https://serpapi.com/search.json?country=us&engine=apple_reviews&page=2&product_id=534220544"
  }
}

Example results for product_id: 534220544, and sort: mosthelpful

Example results for product_id: 534220544, and sort: mosthelpful

JSON Example

{
  "search_metadata": {
    "id": "63a398b140c4a90120d0ada3",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/5860d229e79179b9/63a398b140c4a90120d0ada3.json",
    "created_at": "2022-12-21 23:37:21 UTC",
    "processed_at": "2022-12-21 23:37:21 UTC",
    "apple_reviews_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&id=534220544&sortOrdering=1&type=Purple+Software",
    "raw_html_file": "https://serpapi.com/searches/5860d229e79179b9/63a398b140c4a90120d0ada3.html",
    "prettify_html_file": "https://serpapi.com/searches/5860d229e79179b9/63a398b140c4a90120d0ada3.prettify",
    "total_time_taken": 2.36
  },
  "search_parameters": {
    "engine": "apple_reviews",
    "product_id": "534220544",
    "sort": "mosthelpful",
    "page": "1"
  },
  "search_information": {
    "total_page_count": 8,
    "reviews_results_state": "Results for exact ID number.",
    "results_count": 25
  },
  "reviews": [
    {
      "position": 1,
      "id": "3430818860",
      "title": "Great app for great coffee!",
      "text": "What more could one ask for in a coffee app? One can see the variety of drinks to choose from, visual ratios* for the ingredients in each drink, instructions on how to prepare each drink, plus there’s even a video that demonstrates how each drink is made. There’s even a bonus section on the different styles of coffee which can be made and how to make them. *Note: I did say that the app gives visual ratios for the ingredients not measurements for the ingredients. For some folks this might be a problem, but for me, personally, visual ratios allow the user some flexibility. All in all, a great app for coffee lovers!",
      "rating": 5,
      "helpfulness_vote_information": "3 out of 3 customers found this review helpful",
      "review_date": "Nov 18, 2018",
      "reviewed_version": "Version 3.3",
      "author": {
        "name": "Jinju ^.^",
        "author_id": "100270856"
      }
    },
    {
      "position": 2,
      "id": "1435889091",
      "title": "Hands down the BEST coffee app!",
      "text": "This has to be one of the best apps I have ever interacted with! I knew \"jack\" about coffee until I walked through their outstanding tutorial. I'm just shocked at the amazing quality of the app and I can only recommend it to others who want to learn about the coffee brewing experience",
      "rating": 5,
      "review_date": "Aug 20, 2016",
      "reviewed_version": "Version 3.0.1",
      "author": {
        "name": "ClarkStedman",
        "author_id": "37186622"
      }
    },
    {
      "position": 3,
      "id": "3810267200",
      "title": "Aero Press is upside down",
      "text": "The demo for the Aero Press is upside down but I'm happy about it because I didn't understand how to do it that way. Other than the espresso section this is very basic since it shows the steps of brewing but nothing about the science of different techniques, types of beans, temperature or grind. It's nice to see a simple cup brew for emergencies but it failed to address the same reason people have resorted to instant crystal types- emergency coffee needs. The demo includes powdered milk product- if anyone uses that in anything they're fouling the beverage unless it's a comfort food for them. Yes, that happens. This is pretty much a one time use app unless you get a new brewing system. There's better ways to learn about coffee",
      "rating": 3,
      "review_date": "Feb 24, 2019",
      "reviewed_version": "Version 3.3.2",
      "author": {
        "name": "PhelineCat",
        "author_id": "126727216"
      }
    },
    ...
  ],
  "serpapi_pagination": {
    "current": "https://serpapi.com/search.json?country=us&engine=apple_reviews&page=1&product_id=534220544&sort=mosthelpful",
    "next": "https://serpapi.com/search.json?country=us&engine=apple_reviews&page=2&product_id=534220544&sort=mosthelpful"
  }
}

Example results for product_id: 747648890 (Reviews from the macOS App Store)

If product_id being searched belongs to a reviews from the macOS App Store, it may cause certain variations in the search. The sort parameter will be ineffective for reviews from the macOS App Store. Also, the resulting reviews results will not contain the id or author_id keys.

Example results for product_id: 747648890 (Reviews from the macOS App Store)

JSON Example

{
  "search_metadata": {
    "id": "649b4dcd914a810a1809c778",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/6db6245c169d3e09/649b4dcd914a810a1809c778.json",
    "created_at": "2023-06-27 20:59:57 UTC",
    "processed_at": "2023-06-27 20:59:57 UTC",
    "apple_reviews_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&id=747648890&type=Purple+Software",
    "raw_html_file": "https://serpapi.com/searches/6db6245c169d3e09/649b4dcd914a810a1809c778.html",
    "prettify_html_file": "https://serpapi.com/searches/6db6245c169d3e09/649b4dcd914a810a1809c778.prettify",
    "total_time_taken": 1.47
  },
  "search_parameters": {
    "engine": "apple_reviews",
    "product_id": "747648890",
    "page": "1"
  },
  "search_information": {
    "total_page_count": 44,
    "reviews_for_currrent_version": 1741,
    "reviews_results_state": "Results for exact ID number.",
    "results_count": 10
  },
  "reviews": [
    {
      "position": 1,
      "title": "Good enough",
      "reviewed_version": "v9.6.3",
      "rating": 3,
      "text": "The app for macOS is fast and works well for texting but you cant view media. Things like images and video cant be seen. I have to go to my phone to see memes or other things friends put in chat",
      "review_date": "Jun 24, 2023",
      "author": {
        "name": "Nigel36r"
      }
    },
    {
      "position": 2,
      "title": "App Freeze",
      "reviewed_version": "v9.6.3",
      "rating": 3,
      "text": "When watching video in-app player, it get freezed.",
      "review_date": "Jun 11, 2023",
      "author": {
        "name": "he1nht3t"
      }
    },
    {
      "position": 3,
      "title": "video call issue",
      "reviewed_version": "v9.6.3",
      "rating": 2,
      "text": "when on video call the screen hides automatially during multitasking",
      "review_date": "Jun 08, 2023",
      "author": {
        "name": "Azamchik"
      }
    },
    ...
  ],
  "serpapi_pagination": {
    "current": "https://serpapi.com/search.json?engine=apple_reviews&page=1&product_id=747648890&sort=mostrecent",
    "next": "https://serpapi.com/search.json?engine=apple_reviews&page=2&product_id=747648890&sort=mostrecent"
  }
}

More complex examples with multiple optional parameters

The URL below fetches:

  • • Third page of result,
  • • Product with the ID: 1499149941,
  • • sorted by mosthelpful,
  • • in country gb

More complex examples with multiple optional parameters

JSON Example

{
  "search_metadata": {
    "id": "63a398fb40c4a9011f99805f",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/94b1c081355aa2e2/63a398fb40c4a9011f99805f.json",
    "created_at": "2022-12-21 23:38:35 UTC",
    "processed_at": "2022-12-21 23:38:35 UTC",
    "apple_reviews_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&id=1499149941&sortOrdering=1&type=Purple+Software",
    "raw_html_file": "https://serpapi.com/searches/94b1c081355aa2e2/63a398fb40c4a9011f99805f.html",
    "prettify_html_file": "https://serpapi.com/searches/94b1c081355aa2e2/63a398fb40c4a9011f99805f.prettify",
    "total_time_taken": 3.5
  },
  "search_parameters": {
    "engine": "apple_reviews",
    "product_id": "1499149941",
    "country": "gb",
    "sort": "mosthelpful",
    "page": "1"
  },
  "search_information": {
    "reviews_for_currrent_version": 29,
    "total_page_count": 103,
    "reviews_results_state": "Results for exact ID number.",
    "results_count": 25
  },
  "reviews": [
    {
      "position": 1,
      "id": "7019104173",
      "title": "Improved loyalty scheme but poorly implemented",
      "text": "Credit where it is due, the new Starbucks loyalty scheme is a vast improvement and much fairer rewarding overall spending and custom rather than just drink purchases. It always annoyed me previously that even though I may spend £15 in Starbucks for a coffee and a load of cakes for my kids I would only get 1 loyalty star, the same as if I had spent £3 on just a coffee. This has now been rectified. However the app update is a disappointment, I have had no end of problems redeeming reward drink - they accrue and are visible in the app but then staff can’t actually process them so I end up paying and having to go via customer services who are now only contacted via email due to covid and take 2 weeks to respond. A bigger issue remains the fact that in order to benefit from Starbucks loyalty scheme you have to use the app as a digital wallet and preload it with money which I am not sure is on in the 21sf century.",
      "rating": 2,
      "helpfulness_vote_information": "1 out of 2 customers found this review helpful",
      "review_date": "20 February 2021",
      "reviewed_version": "Version 6.1.4",
      "author": {
        "name": "tjbuckle",
        "author_id": "119641192"
      }
    },
    {
      "position": 2,
      "id": "6577030750",
      "title": "Customer Service? Nah none of that",
      "text": "The update and change of reward system has been an absolute shambles, everyone is logged out of the app and that’s where the problems begin! Most if not all couldn’t log back in, eventually Starbucks offer a solution being to reset your password and it will let you back in, which for many allowed them in to see balances gone and all rewards with it! However if you are like me and many others, you don’t get a password reset email, Starbucks customer support faqs tell you to try different browsers, this doesn’t work! Then it asks you to email them only to be ignored. So you resort to social media to be given the same faqs tweeted back at you or if you keep asking when that doesn’t work blocked! They even had the hilarious suggestion that I get another physical reward card, message them the number and they will manually add it to my account, an account I can’t log into in app or in a browser, and therefore can’t use rewards even if I earned them. So the short version if you are lucky the app will randomly work, if not their solution is to not use the app at all and use a physical swipe card......customer service at its finest!",
      "rating": 1,
      "helpfulness_vote_information": "30 out of 41 customers found this review helpful",
      "review_date": "26 October 2020",
      "reviewed_version": "Version 6.1.4",
      "author": {
        "name": "Agent Gibbs CTP",
        "author_id": "86946268"
      }
    },
    {
      "position": 3,
      "id": "9272541063",
      "title": "Starbucks has just saved my life",
      "text": "Yeah I know it’s a strange title but this is a true story, let me tell you from the beginning. I’m 14 year’s old and I have diabetes type 1 Last night we went out with my parents to have a walk, as we started walking my blood sugar went very down and I couldn’t even walk walk because when the blood sugar comes down you can’t even stand on you feet. Anyway I didn’t have any medications with my self to fix the blood sugar. But suddenly I remembered that I had picked some sugar from Starbucks, so I putted my hand in my pocket and I found the sugar that I picked up from Starbucks and I just ate the sugar and it was very helpful for me. And now this is the story “Starbucks has just save my life” or maybe we can say “Starbucks has saved a HUMAN’S life”❤️❤️ Thank you Starbucks And also thank you for reading my story❤️ THIS IS A TRUE STORY 😌",
      "rating": 5,
      "helpfulness_vote_information": "3 out of 4 customers found this review helpful",
      "review_date": "09 November 2022",
      "reviewed_version": "Version 8.0.1",
      "author": {
        "name": "PooyaVinci",
        "author_id": "1466079069"
      }
    },
    ...
  ],
  "serpapi_pagination": {
    "next": "https://serpapi.com/search.json?country=gb&engine=apple_reviews&page=2&product_id=1499149941&sort=mosthelpful",
    "current": "https://serpapi.com/search.json?country=gb&engine=apple_reviews&page=1&product_id=534220544&sort=mosthelpful"
  }
}