Skip to content

REST API quickstart

The GetAppNiche REST API lets you pull the same iOS App Store data you see in the app — app search with revenue and download estimates, ASO keyword difficulty, and reviews — into your own scripts, Google Sheets, n8n/Zapier-style automations, or anything else that can make an HTTP request. You don’t need to be a full-time developer: if you can run a curl command or paste a snippet into an automation tool, you can use it.

Base URL:

https://api.getappniche.com

1. Create an API key

Sign in (or create an account), then go to Settings → API Keys at app.getappniche.com/settings/api-keys. Click Create key, name it, and copy the secret — it’s shown once. Keys look like getappniche_... and can be rotated or revoked anytime.

2. Authenticate

Send your key as a Bearer token on every request:

Authorization: Bearer YOUR_API_KEY

3. Endpoints

EndpointCreditsUse it for
GET /api/v1/apps1Search and filter apps by category, keyword, revenue, downloads, rating, growth.
GET /api/v1/apps/{app_id}1One app’s full detail record. app_id uses {store}:{store_id} format, e.g. apple:284882215.
GET /api/v1/keywords/difficulty10Score one ASO keyword’s difficulty and opportunity.
GET /api/v1/reviews1Fetch enriched review rows with sentiment and topic signals.

Search apps

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.getappniche.com/api/v1/apps?search=habit%20tracker&min_revenue=3000&limit=10"

Useful query parameters: store, category, search, min_rating, min_reviews, min_downloads, min_revenue, growth filters, limit (max 100), offset, sort_by, sort_dir.

App detail

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.getappniche.com/api/v1/apps/apple:284882215"

Keyword difficulty

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.getappniche.com/api/v1/keywords/difficulty?keyword=habit%20tracker&store=apple&country=US&language=en"

Reviews

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.getappniche.com/api/v1/reviews?store=apple&store_id=284882215&limit=20"

Python example

import requests

API_KEY = "YOUR_API_KEY"
headers = {"Authorization": f"Bearer {API_KEY}"}

resp = requests.get(
    "https://api.getappniche.com/api/v1/apps",
    headers=headers,
    params={"search": "habit tracker", "min_revenue": 3000, "limit": 10},
)
resp.raise_for_status()
data = resp.json()

for app in data["items"]:
    print(app["title"], app["revenue_est_monthly"])

JavaScript example

const API_KEY = "YOUR_API_KEY";

const url = new URL("https://api.getappniche.com/api/v1/apps");
url.searchParams.set("search", "habit tracker");
url.searchParams.set("min_revenue", "3000");
url.searchParams.set("limit", "10");

const resp = await fetch(url, {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
if (!resp.ok) throw new Error(`API error ${resp.status}`);
const data = await resp.json();
console.log(data);

Credits and rate limits

  • Your plan includes 5,000 API credits per month, refreshed automatically each month.
  • Every response includes credits_charged, so you always know what a call cost.
  • Balance and per-request history live at app.getappniche.com/settings. Extra packs of 500 credits are available inside the app.
  • Rate limit: 60 requests per minute per API key. Exceed it and you get HTTP 429 with a Retry-After header telling you how long to wait.

Errors and how to fix them

StatusMeaningFix
401Missing or invalid API keyCheck the Authorization: Bearer ... header and that the full key (starting getappniche_) was pasted.
402Plan doesn’t include API access, or you’re out of creditsCheck your balance in Settings; buy a credit pack or wait for the monthly refresh.
404App not foundVerify the app_id uses {store}:{store_id} format, e.g. apple:284882215.
422Invalid parametersCheck parameter names and values against the endpoint docs above (e.g. limit max is 100).
429Rate limitedSlow down to under 60 requests/minute and respect the Retry-After header.

Using an AI assistant instead?

If you want Claude, Cursor, or another AI agent to query this data directly — no code at all — connect the MCP server instead: see Connect AI agents (MCP). For a summary of both options, see the API & MCP overview.