# Open a case file

Every panel on an app's page, what it holds, and how to move between them.

A case file is one app's page. It lives at `/apps/ios/<store id>`, where the store id is the numeric Apple ID. Search results, chart rows, rival lists and category shelves all lead here.

The page is an identity block and five tabs. Everything below the identity block is evidence, and every panel is read independently, so one empty panel never blanks the rest.

## The identity block

At the top: the app icon, a **Case file · iOS** tag, the app name and developer.

Under the name, the star rating and rating count with the words *Store lookup* and the date those numbers were read. Then a row of chips, each one a store fact:

- Platform and category
- Price
- Age rating, when the store publishes one
- Released and Updated dates
- The best chart rank observed for the app, with the storefront and day it was seen

On the right, **View listing** opens the app on the App Store in a new tab.

Above the identity block, breadcrumbs run **Apps / Category / App name**. The category crumb takes you to the Apple chart for that shelf.

## Moving between tabs

The tab strip sits under the identity block: **Overview**, **Paid ads**, **Organic**, **ASO**, **Listing & about**. The active tab carries a green underline.

Some tabs carry a small badge. Organic shows how many suggested matches were found. ASO shows how many collected searches this app appears in.

Every panel is rendered with the page, so switching tabs is instant. Tiles and previews inside the page can deep-link to a tab using a `#tab-<id>` fragment, which means a link to a specific panel opens on that panel.

## Overview

### This month

The lead panel. Downloads is the headline figure, with a timeline underneath when more than one observation exists. Beside it: Revenue, Store ratings, and Chart rank.

Each figure shows the latest collected value and how it moved since the previous observation. The caption under the timeline names what you are looking at, either "Each point is a collected monthly estimate, not a calendar-month total" or, with a single reading, the date the estimate was collected.

Downloads and revenue are estimates. See [Revenue and download estimates](/docs/revenue-and-download-estimates).

The Chart rank card shows the latest observed rank, its movement, a sparkline of the collected days, and how many days have been observed. If the app has never been seen on the selected chart, it says "No chart history collected" rather than showing a zero.

The chart behind that card defaults to your app's likely home: the paid chart if the store price is above zero, the free chart otherwise, in the United States, Overall. Arriving from a leaderboard carries that board's country, shelf and chart type through, so the rank you clicked is the rank you see.

### This month vs last

Two counters, New ads and New organic, comparing what was collected this month against last month, with the date the count was taken as of. Undated items are counted separately rather than assumed into a month.

### Keywords

A rail listing the searches this app ranks for, best position first, each with a trend line and a position pill. The heading beside it says how many of the collected queries matched, and how many of those are on page one.

If nothing has been collected, the rail says so and offers **Request data**, which starts a background collection of Apple searches around this app's title.

### Screenshots, Paid ads, Organic posts

Three horizontal strips of stored media, in that order. Screenshots come from the store listing. Paid ads and organic posts are the same evidence the dedicated tabs hold, in preview form. Each strip's heading states how many items are stored and how many are new this month.

## Paid ads

Stored ad observations linked to this app's exact App Store identity, not matched by name. Each card carries the creative, its platform, its status, the date it was observed, and a link to the source where one is stored.

If nothing has been stored, the panel says the panda has not stored a paid creative for this store identity. It does not imply the app runs no ads.

## Organic

Suggested organic posts, matched against a copied public corpus by product name. Every card is badged **Suggested match** and shows the evidence for the match plus its source snapshot and copy dates.

A name match does not prove the app owns the publishing account. If the candidate scan reached its configured limit, the panel says so, because more matches may exist beyond what is shown.

## ASO

The search picture, inverted from every collected Apple search that contains this listing. The header states the storefront and language and the date it was last checked.

Below that: summary tiles and position bands, then plain-language observations derived only from the rows on the page, then the keyword table. Each keyword row shows the query, the observed position, a trend, the ranking around it, and expands to the full list of apps in ranking for that search.

After the keywords come the rivals it meets in search, and the phrases other ranked apps put in their titles.

Positions here are where the app appeared in Apple's search results for a bounded set of queries. They are not native App Store ranks, and they are not every keyword the app ranks for.

## Listing & about

The store description as published in the catalogue snapshot, with that snapshot's date.

Then **Monetization**: download price, whether the listing declares in-app purchases, whether it declares ads, and an installs figure. When that figure was derived from ratings it is labelled `Historical install proxy` and marked as not measured installs.

Below that, the stored screenshots and the store observation behind them.

Listing history, meaning changes to screenshots, descriptions and versions over time, has not been collected. That panel is marked as such and carries a **Request data** button.

## When a panel cannot load

If the case file itself cannot be read, the page shows a single "Not loaded" state with the reason. Individual panels behave the same way: a panel that could not be read says so, rather than rendering an empty result that looks like a real zero.

## Related

- [How to read the evidence](/docs/reading-the-evidence)
- [Revenue and download estimates](/docs/revenue-and-download-estimates)
- [Rank history and the Apple charts](/docs/rank-history-and-charts)
- [Finding similar apps](/docs/similar-apps)
