Developer docs › API reference

Hive endpoints

Any app or market the Storelift network measures, whether you track it or not. Part of Hive Explorer.

Authentication · Credits · Common parameters · Error codes · openapi.json

GET /rank-check

The live rank of one of your apps for any search term in one storefront, as the store shows it right now — the term does not need to be tracked. The state keeps the cases apart: ranked with the rank and the apps just above, absent with the top results (the app is sold there and sits outside those results), not_in_store (the app is not sold in that storefront).

Scope
apps:read
Credits
10
Plan
Free
ParameterInTypeDescription
apprequiredquerystringApp Store link or id, or Google Play link or package name
termrequiredquerystringsearch term, e.g. habit tracker
ccquerystringstorefront code, e.g. us
platformqueryios | androidoptional; read from the app link
curl "https://storelift.net/v1/rank-check?app=us&term=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /keyword-difficulty

Demand and difficulty inputs for one App Store search term in one storefront: its demand (demand) and the related searches, the top results with their rating counts and whether the term is in their title, the strongest and median rating count among them, and how deep the results go. thin marks a term with fewer than ten results; zayifEslesme marks a term the store matches loosely. Free reads the terms the account tracks in that storefront; Pro and above read any term.

Scope
apps:read
Credits
10
Plan
Free
ParameterInTypeDescription
termrequiredquerystringsearch term, e.g. habit tracker
ccquerystringstorefront code, e.g. us
curl "https://storelift.net/v1/keyword-difficulty?term=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/find

Find apps across the top charts we measure: filter by category, storefront, chart (Top Grossing, Top Free, Top Paid or Top iPad), rank range, first-seen date, name or publisher, and by monthly revenue, monthly downloads or 30-day growth. Pass estimates: true to get each row's monthly revenue and downloads from Hive, one figure each, with the day of the figure. When a revenue, download or growth filter is set, apps Hive has no figure for yet are left out and counted in noEstimate. 20 credits for the list; with figures, or with a revenue, download or growth filter, 50 more per row returned. The answer carries coverage, the day the first-seen index opens, so every date you read is a day we indexed.

Scope
hive:read
Credits
20
Plan
Hive Explorer
ParameterInTypeDescription
genrequerystringup to 3 Apple genre ids, comma separated, e.g. 6007,6012
countryquerystringup to 5 storefront codes, comma separated, e.g. us,gb
kindquerystringgrossing, free, paid or ipad (which chart the app is on)
releasedquerynumberfirst seen within the last N months
rankMinquerynumberbest chart rank at least this
rankMaxquerynumberbest chart rank at most this
revenueMinquerynumbermonthly gross revenue at least this (USD)
revenueMaxquerynumbermonthly gross revenue at most this (USD)
downloadsMinquerynumbermonthly downloads at least this
downloadsMaxquerynumbermonthly downloads at most this
growthMinquerynumber30-day change at least this, in percent (e.g. 20)
growthMaxquerynumber30-day change at most this, in percent
textquerystringmatch on app name or publisher name
publisherquerystringpublisher id from market_publisher
estimatesquerybooleantrue adds monthly revenue and downloads to every row (50 credits per row)
limitquerynumberrows per page, 50 by default, up to 200
pagequerynumberresult page, 1 by default
curl "https://storelift.net/v1/hive/find?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/charts

One top chart as we last measured it: the ranked app ids for a storefront, list kind and optional category, with the day it was read. Pass estimates: true for each rank's monthly value (revenue on Top Grossing, downloads on Top Free) and what it takes to enter at #10, #50 and #100. 10 credits for the list; with estimates, 50 more per row returned. App Store only — Google Play has no public top chart, and a number there would be invented.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
kindquerystringfree, paid or grossing
genrequerystringApple genre id, e.g. 6007; omit for the overall chart
limitquerynumberhow many rows, up to 100

Also takes: country

curl "https://storelift.net/v1/hive/charts?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/movers

Who climbed, who fell, who entered and who left one top chart, against the same chart N days ago. measured tells you the comparison day is in hand, so every delta you read sits between two measured days; apps that left carry their last rank rather than a delta, since today they sit off the chart.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
kindquerystringfree, paid or grossing
genrequerystringApple genre id; omit for the overall chart
daysquerynumbercompare against N days ago, up to 90
limitquerynumberrows per direction, up to 100

Also takes: country

curl "https://storelift.net/v1/hive/movers?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/new

Apps seen on a top chart for the first time, newest first, with the publisher behind each one. daysCovered says how many of the requested days the index holds, so every first-seen date you read is a day we indexed.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
daysquerynumberlook back N days, up to 30
countryquerystringstorefront code; omit for every storefront
limitquerynumberrows, up to 200
curl "https://storelift.net/v1/hive/new?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/publisher/{publisherId}

Every app of one publisher that we have seen on a chart, with the day each was first seen. Apps the publisher never charted are not here — we list what we measured, not what exists.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
publisherIdrequiredpathstringpublisher id, e.g. from market_new_apps
curl "https://storelift.net/v1/hive/publisher/1000000900" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/resolve

Find any app's id: by name or developer (the top matches in that storefront, with publisher, category, rating and rating count), or from an App Store / Google Play link, a bare App Store id or a package name. Use it before hive_app_details, hive_similar_apps or hive_app_reviews when you only have a name.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
qrequiredquerystringapp name, developer name, store link, App Store id or package name
limitquerynumberresults, up to 25 (default 10)

Also takes: country

curl "https://storelift.net/v1/hive/resolve?q=sleep&country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/similar/{appId}

The store's own similar-apps shelf for any app (Apple's You Might Also Like, Google's Similar apps), in shelf order, with each app's category, name and publisher and the day the shelf was read. The categories on the shelf show which crowd the store places the app in.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
appIdrequiredpathstringApp Store id (e.g. 570060128) or Google Play package name
countryquerystringstorefront code, e.g. us (empty = the newest shelf read in any storefront)
curl "https://storelift.net/v1/hive/similar/sbx-lumen?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/reviews/{appId}

Any app's recent reviews in one storefront, newest first: stars, title, text, version and date, plus the star distribution of the rows returned. Reviewer names are left out. An app Hive does not hold yet is added on the first call.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
appIdrequiredpathstringApp Store id (e.g. 570060128) or Google Play package name
limitquerynumberreviews, up to 200 (default 50)

Also takes: country

curl "https://storelift.net/v1/hive/reviews/sbx-lumen?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

POST /hive/keywords/{term}/metrics/measure

Start a measurement of one keyword's popularity and/or difficulty in one storefront when the stored value is missing or stale. A fresh value or verified absence is returned without new work; a request that joins a job already running uses no daily measurement unit; the request that starts new work uses one from the workspace's daily Hive measurement allowance. The two metrics are independent: a failed source leaves the other valid metric in the answer. wait (0–20 seconds) keeps the call open until the result is stored; 202 means it is still running — read it later with hive_keyword_metrics. Needs the opt-in hive:measure scope: chosen on the API key, or approved separately when connecting over OAuth. iOS only.

Scope
hive:measure
Credits
50
Plan
Hive Explorer
ParameterInTypeDescription
termrequiredpathstringexact keyword, e.g. habit tracker
countrybodystringstorefront code, e.g. us (defaults to us)
platformbodystring
metricsbodyarraywhich metrics to measure (default both)
waitbodynumberseconds to wait for the stored result, 0–20 (this tool sends 15 when left out; the HTTP API default is 0)

Starting new work uses one from the workspace's daily Hive measurement allowance, so there is no command to copy here.

Request body

{"country":"us","platform":"ios","metrics":["popularity","difficulty"],"wait":15}

GET /hive/apps/{id}

Store details the network measured for any app on its latest day: name, ratings, rating, version, price, distribution, badge and in-app purchase count. For App Store apps, listingExtras adds supported languages, the star breakdown (1★ to 5★), live and upcoming in-app events, promotional text and featured in-app purchases, with its own measuredAt; it is null when not measured. not_measured points to the storefronts to add the app to.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
idrequiredpathstringApp Store id (5–12 digits) or a Google Play package name.

Also takes: country

curl "https://storelift.net/v1/hive/apps/1000000001?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/keywords/{term}/ranks

The top results for any keyword the network measures, per day. days shrinks when top is large so one call stays under 1,000 rows. 10 credits for up to 7 days, 20 for up to 30, 40 for up to 90.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
termrequiredpathstring
topqueryinteger
daysqueryinteger

Also takes: country · platform

curl "https://storelift.net/v1/hive/keywords/sleep/ranks?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/keywords/{term}/metrics

Read existing Hive observations for one exact keyword and storefront. Popularity is an integer from 1 to 100; difficulty is a score from 0 to 100. Missing data stays null. Each metric carries its own evidence, source time, freshness and last-attempt status. This GET never starts a source request or measurement job. Requires the full Hive Explorer product; Android is explicitly unsupported.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
termrequiredpathstringNFC-normalized, trimmed and lowercased. Internal whitespace remains significant.
platformqueryiosdefaults to ios

Also takes: country

curl "https://storelift.net/v1/hive/keywords/sleep/metrics?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/keywords/{term}/metrics/history

Read a keyword's stored daily history: the search results, the difficulty score and the Apple popularity recorded on each day. Past difficulty values stay as they were recorded. Failed and incomplete days are marked as such; a day without a stored record is not a zero or a verified absence. Follow pagination.nextCursor with the same keyword, storefront and days. Each series is paged on its own, with up to 200 records per page. This GET reads stored history only and never starts a measurement. Requires the full Hive Explorer product; Android is explicitly unsupported. 10 credits for up to 7 days, 20 for up to 30, 40 for up to 90.

Scope
hive:read
Credits
20
Plan
Hive Explorer
ParameterInTypeDescription
termrequiredpathstringNFC-normalized, trimmed and lowercased. Internal whitespace remains significant.
platformqueryiosdefaults to ios
daysqueryintegerUTC calendar days including today. Popularity revisions are selected by their source week start within this range.
cursorquerystringOpaque continuation from this exact query's pagination.nextCursor.

Also takes: country

curl "https://storelift.net/v1/hive/keywords/sleep/metrics/history?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/spy/{id}

Every keyword the network measured an app on, with its rank. Every call is paid in credits; an app with no keywords to show costs 1.

Scope
hive:spy
Credits
200
Plan
Hive Explorer
ParameterInTypeDescription
idrequiredpathstringApp Store id (5–12 digits) or a Google Play package name.

Also takes: country · platform

curl "https://storelift.net/v1/hive/spy/1000000104?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/estimate/{id}

Monthly revenue and downloads for any App Store app, worldwide: one figure each (value, or under when the app is below that amount) and how many markets it covers. Every app gets an answer. Hive already knows them. The first request for an app starts the read and answers 202 with eta seconds. 500 credits for the figures; a pending answer is 1.

Scope
hive:estimate
Credits
500
Plan
Hive Explorer
ParameterInTypeDescription
idrequiredpathstringApp Store id.

Also takes: country

curl "https://storelift.net/v1/hive/estimate/1000000001?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Open in sandbox

Sample response

GET /hive/gap

Up to 5 apps' keyword lists side by side, one row per keyword: each app's rank, how many hold it and which are missing. 200 credits per app compared; an app outside the index is not charged. Part of Explorer.

Scope
hive:spy
Credits
400
Plan
Hive Explorer
ParameterInTypeDescription
idsrequiredquerystringComma-separated app ids, at least 2.

Also takes: country · platform

curl "https://storelift.net/v1/hive/gap?ids=1000000001,1000000104&country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/research

Type a seed keyword and get related App Store search terms, each with Apple popularity (1–100 when observed; missing values stay null), difficulty (0–100), how many apps rank for it and the top 10 apps. Metric evidence distinguishes a measured value, verified absence, pending work and source errors. Active measurement rows carry state: "pending"; repeat the request to read the result. When the App Store corrects the spelling of a term, its row carries spell with the corrected search. No app needed. Part of Explorer.

Scope
hive:read
Credits
50
Plan
Hive Explorer
ParameterInTypeDescription
seedrequiredquerystringSeed keyword.
comparequerystringUp to 5 more storefronts, comma-separated (e.g. de,fr): popularity, difficulty and app count of the same terms in each.

Also takes: country

curl "https://storelift.net/v1/hive/research?seed=us&country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /hive/landscape

A storefront's category landscape from its top free list: the ratings wall of the top 10, median rating, name length, release and update freshness, languages, size and publishers with several apps. Each category carries its own measurement day.

Scope
hive:read
Credits
10
Plan
Hive Explorer
ParameterInTypeDescription
genrequerystringApp Store genre id (e.g. 6014) or a category key (all, games, entertainment, photo-video, productivity, health-fitness, education, lifestyle, finance, social-networking). Leave out for every measured category.

Also takes: country

curl "https://storelift.net/v1/hive/landscape?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"