Apify Store Scraper: Actor Users, Runs, Prices, Trends
Pricing
from $0.68 / 1,000 actor analyzeds
Apify Store Scraper: Actor Users, Runs, Prices, Trends
Apify Store data by keyword, category or developer: users 7/30/90 days, runs, failure rate, rating, price per 1,000, 7-day trend, plus niche summary (leader share, median price). No API key, no login. MCP-ready for AI agents. Errors and empty results are free. $0.80 per 1,000 Actors.
Pricing
from $0.68 / 1,000 actor analyzeds
Rating
0.0
(0)
Developer
ABM
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
$0.80 per 1,000 Actors analyzed · pay per result, no monthly rental · errors, empty results and the segment summary are free.
Search the Apify Store by keyword, category or developer and get, for every Actor: users over 7 / 30 / 90 days, runs and failure rate over 30 days, rating and reviews, exact price (pay per event, per result or monthly), 7-day trend, plus a segment summary: how many Actors compete, how much of the users the leader takes, the median price per 1,000 results.
It is the market study you need before building or pricing an Actor: find niches where demand is high, the leader is weak (low rating, high failure rate) or overpriced.
- Uses only the public Apify Store API: no API key, no login, no proxy, fast and stable.
- One clean JSON object per Actor, camelCase fields, export to JSON, CSV, Excel or Google Sheets.
- MCP-ready for Claude, Cursor, ChatGPT and AI agents, with an LLM-ready Markdown report.
- Scheduled runs:
onlyNewdelivers only Actors that appeared since the last run, and true 7-day deltas are computed from daily snapshots.
How much does it cost?
| You analyze | You pay |
|---|---|
| 50 Actors (one niche) | $0.04 |
| 1,000 Actors (a whole category) | $0.80 |
| 10 niches × 100 Actors, every week for a month | 4 × $0.80 = $3.20 |
You are charged one actor event per Actor delivered in the dataset. Nothing is charged for a failed query, a query with no result, a duplicate Actor found by two keywords, or the segment summary. When your maximum cost per run is reached, the run stops cleanly and tells you how many Actors were delivered.
Input
{"search": "youtube transcript","searches": ["google maps", "linkedin jobs"],"usernames": [],"category": "","sortBy": "relevance","pricingModel": "","maxItems": 50,"minUsers30Days": 0,"onlyNew": false}
| Field | What it does |
|---|---|
search / searches | Keywords, exactly like the Store search box. Each keyword = one segment with its own summary. |
usernames | Developers whose public Actors you want (the part after apify.com/). |
category | Restrict to one Store category (AI, LEAD_GENERATION, ECOMMERCE, …). Alone, lists the whole category. |
sortBy | relevance (what buyers see), popularity, newest, lastUpdate. |
pricingModel | PAY_PER_EVENT, PRICE_PER_DATASET_ITEM or FREE. |
maxItems | Max Actors per query (1–5,000). |
minUsers30Days | Deliver only Actors with at least this many monthly users. |
onlyNew | Deliver only Actors never delivered before for the same queries. |
Output
One item per Actor in the dataset (table view "Overview" in the console):
{"id": "zPumutvB61fpEsglh","title": "YouTube Transcript & Subtitles Scraper API","name": "YoutubeTranscripts","username": "johnvc","url": "https://apify.com/johnvc/youtubetranscripts","categories": ["VIDEOS", "AI", "DEVELOPER_TOOLS"],"query": "search: youtube transcript","rank": 2,"totalUsers": 8229,"users7Days": 1963,"users30Days": 4312,"users90Days": 6617,"totalRuns": 341769,"runs30Days": 191783,"succeededRuns30Days": 191537,"failedRuns30Days": 6,"timedOutRuns30Days": 111,"abortedRuns30Days": 129,"failureRate30Days": 0.0006,"successRate30Days": 0.9987,"runsPerUser30Days": 44.5,"reviewRating": 4.78,"reviewCount": 11,"bookmarkCount": 28,"momentum7Days": 1.95,"momentum30Days": 1.95,"users30DaysChange7Days": 512,"users30DaysGrowth7DaysPct": 13.5,"comparedToDate": "2026-10-21","segmentShare30Days": 0.31,"pricingModel": "PAY_PER_EVENT","priceUsd": 0.00275,"pricePer1000Usd": 2.75,"priceUnit": "Video Processed","primaryEventName": "videoprocessed","priceEvents": [{"name": "videoprocessed", "title": "Video Processed", "priceUsd": 0.00275, "isPrimary": true, "isOneTime": false}],"monthlyPriceUsd": null,"scrapedAt": "2026-10-28T09:00:00Z"}
The segment summary is saved (free) in the run's key-value store, record SUMMARY (JSON) and SUMMARY_MD (Markdown, ready to paste into an LLM):
{"query": "search: youtube transcript","storeTotalMatches": 1260,"actorsAnalyzed": 50,"totalUsers30Days": 13870,"leader": {"title": "YouTube Transcript & Subtitles Scraper API", "users30Days": 4312, "pricePer1000Usd": 2.75},"leaderShare30Days": 0.31,"top3Share30Days": 0.62,"herfindahlIndex": 0.17,"actorsWithAtLeast10Users30Days": 21,"medianPricePer1000Usd": 5.0,"medianPricePer1000UsdTop10": 4.0,"minPricePer1000Usd": 0.5,"medianReviewRating": 4.4,"medianFailureRate30Days": 0.03,"medianMomentum7Days": 1.02}
How the metrics are computed
failureRate30Days= (failed + timed-out runs) / all public runs over 30 days. Aborted runs are reported apart (often stopped by the user).momentum7Days= users of the last 7 days / weekly average of the last 30 days. Above 1 the Actor is accelerating. Available from the first run.users30DaysChange7Days,totalUsersChange7Days,totalRunsChange7Days= real change against the snapshot taken about 7 days earlier. Snapshots are stored in your named key-value storeapify-store-explorer-history, so these fields arenulluntil you have run the Actor at least once a week earlier (schedule it daily or weekly).priceUsd= price of the primary event (or of one result) for the FREE customer tier;pricePer1000Usd= the same × 1,000.
Use cases
1. A solo developer looks for a niche before building. They compare 10 niches in one run and look for high demand with a weak leader.
Input: {"searches": ["tiktok comments", "amazon reviews", "zillow", "indeed jobs", "google news"], "maxItems": 50, "sortBy": "popularity"} (250 Actors, $0.20).
Output extract from SUMMARY: {"query": "search: zillow", "totalUsers30Days": 2400, "leaderShare30Days": 0.58, "medianPricePer1000Usd": 3.0} and for the leader {"reviewRating": 3.1, "failureRate30Days": 0.12}.
Next: a niche where the leader takes 58 % of the users with a 12 % failure rate and a 3.1 rating is an opening; they build a more reliable Actor priced below the median.
2. A pricing manager sets the price of a new Actor. Input: {"search": "linkedin profile", "pricingModel": "PAY_PER_EVENT", "maxItems": 100, "minUsers30Days": 10} ($0.08).
Output extract: [{"title": "...", "users30Days": 950, "pricePer1000Usd": 4.0}, {"title": "...", "users30Days": 310, "pricePer1000Usd": 2.5}].
Next: they plot users30Days against pricePer1000Usd in Google Sheets and price just under the cheapest Actor that still has real users.
3. A developer with a portfolio tracks their own Actors and competitors every Monday. Input: {"usernames": ["your-username", "competitor-username"], "maxItems": 200} scheduled weekly ($0.16 per run for 200 Actors).
Output extract: {"title": "...", "users30DaysChange7Days": -40, "failureRate30Days": 0.21, "momentum7Days": 0.7}.
Next: a Make scenario posts to Slack every Actor whose failureRate30Days > 0.1 or whose users dropped this week, so they fix it before the reviews fall.
4. A newsletter or agency watches new entrants. Input: {"category": "MCP_SERVERS", "sortBy": "newest", "maxItems": 100, "onlyNew": true} scheduled daily.
Output: only the Actors published since yesterday, e.g. [{"title": "...", "username": "...", "pricingModel": "PAY_PER_EVENT", "pricePer1000Usd": 1.0}] — usually 0 to 20 per day, a few cents.
Next: the list feeds a Google Sheet and a weekly "new on the Apify Store" digest.
API examples
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("<username>/apify-store-explorer").call(run_input={"search": "youtube transcript", "maxItems": 50})for actor in client.dataset(run["defaultDatasetId"]).iterate_items():print(actor["title"], actor["users30Days"], actor["pricePer1000Usd"], actor["failureRate30Days"])summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("SUMMARY")["value"]print(summary["segments"][0]["leaderShare30Days"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('<username>/apify-store-explorer').call({ search: 'youtube transcript', maxItems: 50 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.table(items.map((a) => ({ title: a.title, users30Days: a.users30Days, price: a.pricePer1000Usd })));
Integrations (Make, Zapier, n8n, Google Sheets)
- n8n / Make: "Run Actor" node with the input above → "Get dataset items" → filter
users30Days > 100andreviewRating < 4→ Google Sheets "Append row". Schedule it weekly to get a niche watchlist. - Zapier: trigger "Actor run finished" → action "Google Sheets: create row" for each item.
- Google Sheets / Excel: export the dataset as CSV or XLSX from the console or the API (
/datasets/{id}/items?format=csv&view=overview). - Webhooks: call your own endpoint when the run finishes.
Use with AI agents (MCP)
Add the Actor to the Apify MCP server (https://mcp.apify.com) in Claude, Cursor, ChatGPT or any MCP client, then ask: "Which YouTube niches on the Apify Store have more than 1,000 monthly users and a leader rated under 4?" The agent calls the Actor with searches, reads the dataset and the SUMMARY_MD record (compact Markdown made for LLM context windows).
FAQ
Do I need an Apify API token or a login for the Store? No. The Actor reads the public Apify Store API, the same data the Store pages show.
Why are the 7-day change fields null? They compare with a snapshot from about 7 days ago, kept in your own account. Run the Actor on a schedule (daily or weekly) and they fill in from the second week. momentum7Days gives the trend from the very first run.
Is an Actor found by two keywords charged twice? No. It is delivered once (with the first query that found it) and charged once. Each keyword's summary still counts it.
How fresh is the data? Live: each run reads the Store at that moment. User and run counts are those Apify publishes (updated about daily).
Can I get the whole Store? Yes, run one query per category with maxItems up to 5,000.
What does "failure rate" include? Failed and timed-out public runs over 30 days. A high rate may also come from users' bad inputs; check runsPerUser30Days and the reviews.
Limits
- Only public Store data: no revenue, no private Actors, no per-day history before your first run.
- The Store search covers titles, descriptions and READMEs, so a broad keyword may return loosely related Actors; use
sortBy: "popularity"andminUsers30Daysto focus. - Tiered prices are reported for the FREE tier (what a new customer pays); all tiers are not listed.
- The 7-day deltas need a snapshot from 5 to 10 days earlier in your account.