> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appgoat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# App identifiers

> Every app-scoped endpoint takes one {app} path segment that accepts anything that identifies an app.

The handful of rules every endpoint follows. Learn them once and the whole API reads the same way.

## `{app}`

Every app-scoped endpoint takes one path segment that accepts anything that identifies an app. URL-encode it.

* App Store id: `284882215` or `id284882215`
* Google Play package: `com.spotify.music`
* Apple bundle id: `com.spotify.client`
* A store URL (apps.apple.com, itunes.apple.com, play.google.com)
* A prefixed id: `apple:284882215`, `play:com.spotify.music`
* A name: `spotify` resolves to the best search match and says so in `meta.warnings`

Add `store=apple` or `store=play` when an identifier could belong to either store. `data.linked` is the same app in the other store when we know it (same bundle id, or same developer and name).

```bash theme={null}
curl "https://api.appgoat.ai/v1/apps/$(printf %s 'https://apps.apple.com/us/app/spotify/id324684580' | jq -sRr @uri)" \
  -H "x-api-key: $APPGOAT_API_KEY"
```

If nothing matches, the API answers 404 [`app_not_found`](https://docs.appgoat.ai/errors/app_not_found).

## `{dev}`

[`GET /v1/developers/{dev}`](https://docs.appgoat.ai/api-reference/endpoint/get-developer) takes `apple:<artist id>`, `play:<developer id>`, a numeric id or the website domain. Add `store=apple|play` when it is ambiguous.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.