← Back to blog

App store catalog: search mobile and CTV the way investigators actually ask

App-ads.txt tells you which accounts an app publisher authorizes. You still need the catalog: which titles exist, who publishes them, what Play Data Safety or Apple App Privacy says, and how CTV channels sit next to mobile packages.

DecryptAds keeps an ingested app store catalog under Research → App store catalog (decryptads.com/apps). When the same store id shows up in crawls, rows join to app-ads.txt on publisher profiles.

Store overview

We cover five stores:

Filter Store to Roku, Fire TV, or Samsung TV, or search a known channel id / ASIN / appId with exact store id. Expand a row when app-ads.txt only gives you an opaque store id and you need the readable channel name and legal links.

App store catalog filtered to a CTV store with an expanded channel listing
CTV store filter with an expanded channel row (legal URLs / store id)

App risk score

Listings get a 0–100 app risk score with the same bands as hostname Auto-Investigate: low, medium, high, critical. Use it to prioritize review — not as a store-policy ruling.

It draws on four areas:

The results table has an App risk column. Expand a row (or open an exact store-id match) for the gauge. Details: /help/#apps.

App store catalog showing the App risk column and expanded risk gauge for a listing
App risk column and expanded gauge on a catalog result

Search and filters

Top of the page:

Filters cover category and developer website/email; privacy / terms / support / app-ads.txt URLs; privacy-label status; disclosure types (shared, collected, tracked, linked, not_linked); privacy category / data type / purpose; security practices; rating or install floors.

Expandable rows: store, name, app risk, developer, website, rating on the summary; store id, legal URLs, installs, and CTV fields in the detail. Export CSV or JSON. API: GET /store_apps/search.

Example: kids apps that share location

Find titles that look child-directed but declare shared location on Google Play:

Or open /apps?q=kids&store=google&disclosure=shared&privacy_category=Location&privacy_status=ok. Expand a row for the label table. Treat disclosures as the publisher’s statements, then check the live listing before you act.

App store catalog results for kids apps with shared Location disclosure on Google Play
Kids + shared Location on Play — filters visible, results table filled

Filters panel

Listing fields, legal URL checks, privacy labels, and scale controls sit in one panel. Stack them — for example ad-supported kids titles missing a privacy URL, or high-install Play apps that track Device ID for advertising. Raise the result limit if the query is capped.

App store catalog Filters panel showing privacy disclosure and category controls
Filters panel — disclosure checkboxes and privacy category / data type

Try it

Research → App store catalog · header search mode App store catalog · Help: /help/#apps

The catalog is read-only from ingested scrapes and bulk files; the API does not live-query storefronts for missing rows. Broader product overview: What DecryptAds analyzes.