# Apple App Store apps, bundles, and similar apps

2026-08-24

> iOS apps, bundles, similar apps, and reviews as JSON. Not App Store Connect. Not Apple the fruit.

- Index: https://fetcher.sh/blog.md
- This page (HTML): https://fetcher.sh/blog/apple-app-store-apps-bundles-similar

![A person using a smartphone with app cards on screen](https://images.unsplash.com/photo-1551650975-87deedd944c3?auto=format&fit=crop&w=1600&q=80)

Photo by Austin Distel on [Unsplash](https://unsplash.com/?utm_source=fetcher_sh&utm_medium=referral).

Lead with Apple / iOS so “App Store” cannot mean Google Play. [appstore.fetcher.sh](https://appstore.fetcher.sh) returns public storefront listings: apps, bundles, similar apps, reviews, developer catalogs. iPhone and iTunes show up as aliases in search. Connect is how publishers ship binaries. This host reads the public store.

Not TestFlight. Not a Shopify checkout. Not the [Play Store](/blog/google-play-apps-reviews-permissions-data-safety). Not Apple the company as a news beat — that would be [News](/blog/google-news-headlines-topics-language-editions) or [X](/blog/twitter-x-public-data-without-developer-platform).

Search a country storefront with `term` and `country`. The featured examples are a US habit tracker and a Japanese camera search. A country code is a storefront, not a shipping destination. [Storefronts by country](/blog/app-storefronts-by-country-us-japan-germany) is the deep dive.

## Apps, bundles, similar, developers

`curl -H 'Authorization: Bearer bby_live_…' 'https://appstore.fetcher.sh/api/apps?term=habit+tracker&country=us'`

From an app id: details, reviews, similar apps. From a bundle id: details, reviews, similar. From a developer id: the public catalog.

Bundles are a real object on Apple’s store and a nothing on Play. If your competitive set includes “the suite,” you need this host, not a Play-shaped mental model. Similar apps are the neighborhood graph. Reviews are software ratings, not Maps.

Japan’s storefront is `country=jp`. Germany is `de`. An app id from the US storefront is not automatically valid as a Japan lookup — search that storefront, then fetch similar and reviews there. Play remains googleplay.fetcher.sh.

## Connect vs the public catalog, in practice

App Store Connect is how binaries, TestFlight, pricing, and review notes ship. Nobody on a research or ASO-feed task should need Connect access. They need the listing the customer sees.

Teams still confuse the two because both say “App Store.” If the task is “upload the build,” you are in Connect. If the task is “what does the US listing look like, who is similar, what are reviews saying,” you are here. Sharing a Connect login with a contractor so they can *read listings* is the wrong instinct. Give them a fetcher.sh key.

We do not return TestFlight builds. We do not return sales reports. We do not return crash logs. Public apps, bundles, similar, reviews, developer catalogs.

## A case: similar apps around a habit tracker

An ASO freelancer is hired to map competitors for a US habit tracker. They search the US store, take the app id, fetch similar apps, then repeat in `jp` because the client ships there too.

They do not log into Connect. They do not use TestFlight. They get a neighborhood of public listings. [ASO](/blog/aso-competitor-tracking-without-sensor-tower) and [reviews as research](/blog/app-store-reviews-as-product-research) sit on top of those ids.

The US similar-apps list and the Japan list are not the same. Treating the US graph as global is how a localization brief misses a local champion that only shows up on `jp`. Search each storefront. Store ids per country if they differ.

## A case: a bundle that is the actual product

A publisher sells a bundle of camera apps. Searching a single app title undercounts the listing the customer buys. The freelancer looks up the bundle, pulls bundle reviews, and similar bundles, and only then dives into the member apps.

Play cannot mirror that shape. If the client also ships Android, that is a second host and no bundles. Keep the objects straight in the spreadsheet: app vs bundle vs developer catalog.

iTunes and iPhone as search aliases still mean this store, not a music API and not a hardware spec sheet. If someone asked for Apple News, that is google-news.fetcher.sh. If they asked for a Mac App Store listing that is not in this catalog’s paths, read the host docs before you invent a parameter.

Reviews on a bundle are about the bundle purchase. Reviews on a member app are about that app. Mixing them in one NPS-style average is how a localization brief lies. Keep two columns.

A freelancer’s week: US search, similar, reviews; repeat `jp` and `de` if the client ships there; bundles if the SKU is a suite; developer catalog if the question is “what else does this publisher sell.” Connect stays closed. TestFlight stays closed. Play stays a second host.

iPhone and iTunes in a search query still mean this store. Apple the fruit and Apple News do not.

## Connect vs the public catalog

Connect is how binaries ship. This host reads apps, bundles, similar, reviews. If you needed TestFlight, you are in the wrong catalog. Keep the two stores on two hosts.

Docs: [appstore.fetcher.sh](https://appstore.fetcher.sh). Payment is the usual 402 or prepaid key. Shopify checkouts are unrelated even though the word “storefront” shows up in both businesses.
