> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/marketing/appfigures/common-issues.md).

# Common Issues

## Connection issues

<details>

<summary>My API key is rejected when I try to connect</summary>

Double-check that you're copying the full API key from **Appfigures → Account Settings → API**. Make sure there are no trailing spaces or line breaks. If you recently regenerated your key, update it in your Coupler.io data flow as well — the old key is immediately invalidated.

</details>

<details>

<summary>The data flow connects but returns no rows</summary>

This usually means your start date is set too far in the future, or Appfigures hasn't synced recent data from the store yet. Try moving the start date back a few days using the date picker. Also check the **Statuses** entity to confirm your store accounts are syncing correctly.

</details>

## Missing data

<details>

<summary>I'm missing data for one of my apps</summary>

Confirm that the app is properly linked in your Appfigures account — go to Appfigures and check under **Apps**. If a store account has a sync error, the Statuses entity in Coupler.io will reflect this. Re-authenticating the store connection in Appfigures often resolves it.

</details>

<details>

<summary>Google Play data isn't showing up, only Apple data</summary>

The **search\_store** parameter defaults to `apple`. To retrieve Google Play data, set the parameter value to `google` in your data flow's advanced settings.

</details>

<details>

<summary>Subscription data shows zeros for some periods</summary>

Appfigures subscription data can have a processing lag — typically 24–72 hours behind real time. If you're querying very recent dates, wait a day and re-run. Also confirm your app uses Apple or Google's subscription billing, as third-party billing systems are not tracked.

</details>

## Permission errors

<details>

<summary>I get a "403 Forbidden" error</summary>

This means your API key doesn't have the required permissions. In Appfigures, check that your account role has access to the entities you're requesting. Some data (like ad spend) may require elevated permissions or a specific Appfigures plan tier.

</details>

## Data discrepancies

<details>

<summary>Revenue in Coupler.io doesn't match what I see in App Store Connect</summary>

Appfigures reports **proceeds** (revenue after store fees) separately from **gross revenue**. Make sure you're comparing the right metric. There can also be a 1–2 day reporting delay from Apple, so recent totals may differ until the store finalizes its numbers.

</details>

<details>

<summary>Download counts differ between Reports sales and the app store dashboard</summary>

This can happen if the **group\_by** parameter is set to a dimension that causes double-counting (for example, grouping by both product and country). Try grouping only by `date` to get a simple total, then compare.

</details>

## Rate limits

<details>

<summary>My data flow fails with a rate limit error</summary>

Appfigures enforces API rate limits based on your plan. If you're pulling multiple entities in the same data flow across long date ranges, try splitting them into separate data flows. Reducing the date range per run also helps stay within limits.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/marketing/appfigures/common-issues.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
