Skip to content
OpenConnectmain · October 2026 (after 1.2.0)

Syncing ​

OpenConnect copies your data from Apple into its own database, then the dashboard reads only from there. Two jobs do the copying:

JobWhat it downloadsDefault schedule
App Store ConnectYour apps, sales reports, subscription reports, impressions and page views, customer reviews, and exchange ratesEvery 6 hours
Ratings & RankingsRatings in every storefront and your positions in Apple's top chartsEvery 24 hours

Both run on their own about 30 seconds after OpenConnect starts the first time, and then on their schedule. OpenConnect checks every five minutes whether a job is due. Change the schedules, or turn either off, in Settings > Sync (see Configuration).

Only What's Missing ​

OpenConnect keeps a ledger of every report date it holds. Each run downloads only dates that are missing or failed last time, newest first, so recent numbers appear before a long backfill finishes. A routine sync is a handful of requests, not a year of reports.

Each report date is replaced as a whole, so syncing a date again never counts anything twice.

How Far Back ​

Apple keeps sales reports for different lengths of time, and OpenConnect uses each kind for the stretch it covers:

  • Daily reports for the last 365 days, starting on the first full month inside that window.
  • A monthly report for the partial month before that.
  • Yearly totals for everything older, back to your first app's release date. If a release date isn't known, every year back to 2008 is checked.

Nothing before your first app's release is requested. Because older history only exists as monthly and yearly totals, view it in the history chart with Monthly or Yearly grouping.

Subscription reports are daily only and cover the last 365 days.

Apple publishes daily reports with a delay. The newest day or two usually show as "to fetch" until Apple has them, and they're retried on every sync.

Impressions and Product Page Views ​

These come from Apple's Analytics Reports API, which works differently from sales reports. Apple only generates analytics reports for an app after someone asks it to, and only an Admin key can ask.

On each sync, OpenConnect checks that each app has an ongoing report request and a one-time request for its history, and creates any that are missing. Apple then takes one to two days to produce the first reports. The one-time history goes back to January 1, 2024. After that, any key with the Sales role can download them.

If your key can't create the requests, the sync reports that impressions need a one-time setup. To do it:

  1. Create an Admin key in App Store Connect.
  2. Enter it in Settings > App Store Connect and run a sync.
  3. Switch back to your Sales key once the sync finishes.

TIP

This one-time setup creates analytics report requests in your App Store Connect account. You can turn impressions off in Settings > Sync > Impressions & product page views.

Customer Reviews ​

Reviews are downloaded newest first, and each sync stops when it reaches a review it already has. Developer responses that were added or edited are updated.

Ratings and Rankings ​

This job asks Apple's public App Store lookup for your ratings in every storefront, then checks Apple's top-chart feeds. It needs no API key and is described in Ratings & Rankings.

Currencies ​

Apple reports proceeds in each storefront's currency. OpenConnect converts them to US dollars using the latest exchange rates from open.er-api.com, refreshed at most every 12 hours, and then to your display currency. The same current rates are used for all dates, so older totals shift a little as rates change.

The Sync Dialog ​

Click Sync in the top bar to open Data Sync:

  • App Store Connect and Ratings & Rankings cards, each with Run now, progress while it runs, when it last ran, and any problems.
  • What changed opens the report of that job's latest run.
  • Report coverage: for Daily sales, Monthly sales, Yearly sales (history), Subscription events and Active subscriptions, the date range and how many dates are Synced, have No data, are still To fetch, or Failed. Hover a failed count for Apple's error.
  • Retry failed dates: syncs again, retrying every date that failed.
  • Full re-sync: downloads every report again. Existing data is replaced, not duplicated.

The Sync Report ​

When a sync you started finishes, a Sync report popup lists what changed:

  • Apps: apps added or renamed.
  • Sales totals: downloads, redownloads, updates, in-app purchases and proceeds before and after, and which apps moved.
  • Report dates: each new date, and each date whose numbers Apple revised, with old and new figures.
  • Engagement & subscriptions: impressions, product page views, active subscriptions and subscription events.
  • Reviews: every new review, and developer responses that were added or edited.
  • Ratings: changes to rating counts and averages per app.
  • Chart positions: positions gained, lost and moved, biggest moves first.

Scheduled syncs don't pop up. Open Sync > What changed to see the latest report for each job.

When a Sync Fails ​

  • HTTP 401 or 403: the key lacks the role for that data. The rest of that report type is skipped for this run, and a notice appears on the dashboard. See the role table.
  • Rate limits and Apple server errors: requests are retried with a growing wait. Ratings or chart lookups that still fail are retried on the next run.
  • "Vendor number is not set": sales and subscription reports are skipped until you add it.

Odd Omens is a one-person studio building privacy-first software.