Unity Asset Store Scraper - Packages, Sales & Monitor avatar

Unity Asset Store Scraper - Packages, Sales & Monitor

Pricing

from $1.00 / 1,000 asset / listing rows

Go to Apify Store
Unity Asset Store Scraper - Packages, Sales & Monitor

Unity Asset Store Scraper - Packages, Sales & Monitor

Scrape Unity Asset Store packages: prices, discounts, ratings, publishers, category listings, and sitemap full-catalog discovery. Optional HTML enrichment for versions and upgrades. Monitor price, version, and rating changes. No login.

Pricing

from $1.00 / 1,000 asset / listing rows

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Unity Asset Store Scraper — Packages, Sales & Monitor

Crawloop App & Asset Discovery — store listings and package metadata.

Unity Asset StoreGoogle PlayApple App StoreApp Stores Combined
Unity Asset Store Scraper ◄── you are hereGoogle Play ScraperApple App Store ScraperApp Stores Scraper

Unofficial tool for publicly accessible Unity Asset Store data. Unity, Unity Asset Store, and related trademarks belong to their respective owners. Not affiliated with, sponsored by, or endorsed by Unity Technologies. Provided for informational use only; users must comply with applicable terms and laws.

Unity Asset Store Scraper ◄── you are here

Unity Asset Store scraper for Apify — extract package metadata, prices, discounts, ratings, publishers, media, and category listings. Fast batch API hydrate (up to ~100 IDs per request), category discovery, sitemap full-catalog harvest, optional HTML enrichment (version, download size, upgrades, tags), and monitor mode for price / version / rating deltas. No Unity ID login.

Use it for competitor research, sale tracking, publisher / category dumps, and scheduled marketplace monitors.

When to use this Actor

  • Competitor cards: price, sale %, rating, publisher, media
  • Flash-sale / price-drop monitoring for selected package IDs or categories
  • Category crawls (tools/animation, 3d/characters, vfx/shaders, …)
  • Full-catalog ID discovery via sitemap + batch hydrate
  • Release and rating delta tracking on a schedule

Modes

ModeWhat it does
searchCategory listing discovery → batch hydrate (optional name / on-sale filters)
asset_detailsHydrate by package ID or package URL (+ optional HTML enrich)
batch_scanScan inclusive ID ranges via get-multiple-assets
full_catalogSitemap package URLs → batch hydrate
monitorFingerprint deltas vs named Key-Value Store

Key features

  • HTTP-onlycurl_cffi Chrome TLS fingerprint; no headless browser
  • Batch API — high-throughput hydrate for known IDs
  • Category SSR — listing pages expose searchPackageFromSolr (~24/page)
  • HTML enrich — React ENTITY + Schema.org LD+JSON for version / size / upgrades
  • Monitor eventsPRICE_DROP, PRICE_INCREASE, NEW_SALE, VERSION_UPDATE, RATING_CHANGE, NEW_ASSET
  • Typed dataset rowsitemType: asset, listing_hit, monitor_event

Input parameters

ParameterDescription
modeSee modes table above
assetIds / startUrlsPackage IDs or package page URLs
categorySlugCategory path for search / monitor discovery (e.g. tools/animation)
searchQueryOptional client-side name filter on category listings
onSaleOnlyKeep listing cards marked on sale before hydrate
orderBy / maxPagesListing sort and page cap
startId / endId / batchSizeInclusive ID scan + batch chunk size
enrichFromHtmlVersion, download size, upgrades, tags from product HTML
concurrency / maxRequestsPerSecondParallelism and rate limit
maxItemsDataset row cap (0 = unlimited)
monitorStoreName / monitorBaselineOnly / resetMonitorStateMonitor KV
trackPriceChanges / trackVersionUpdates / trackRatingChanges / trackNewAssetsMonitor event filters
proxyConfigurationOptional; direct egress usually works

Example — asset details + HTML enrich

{
"mode": "asset_details",
"assetIds": ["293522", "122218"],
"enrichFromHtml": true,
"maxItems": 10
}

Example — category crawl

{
"mode": "search",
"categorySlug": "tools/animation",
"maxPages": 5,
"maxItems": 120,
"onSaleOnly": false,
"concurrency": 8
}

Example — on-sale slice

{
"mode": "search",
"categorySlug": "tools/animation",
"onSaleOnly": true,
"maxPages": 3,
"maxItems": 48
}

Example — monitor

{
"mode": "monitor",
"assetIds": ["293522", "122218", "357050"],
"enrichFromHtml": true,
"monitorStoreName": "unity-asset-store-monitor",
"monitorBaselineOnly": false,
"trackPriceChanges": true,
"trackVersionUpdates": true,
"trackRatingChanges": true,
"trackNewAssets": true
}

Example — sitemap sample

{
"mode": "full_catalog",
"maxItems": 100,
"batchSize": 50,
"concurrency": 8
}

Output

Each dataset row is a normalized asset (id, name, url, category, publisher, price, currency, sale flags, rating, media, optional enrich fields) or a monitor_event with changeType and details.

Example asset fields: id, name, url, publisherName, price, originalPrice, currency, onSale, discountPercent, ratingAverage, ratingCount, currentVersion, downloadSize, thumbnail, scrapedAt.

Workflow tips

  1. Discover IDs with search (categorySlug) or full_catalog, then re-run asset_details / monitor on a stable ID list.
  2. Prefer batch prices after hydrate — listing SSR prices can be geo-local.
  3. First monitor run: set monitorBaselineOnly: true (or accept an empty event set while state seeds).
  4. Legacy / unpublished packages may return empty price from the batch API; enable enrichFromHtml for LD+JSON fallback when needed.
  5. Keyword discovery via Coveo is unreliable for anonymous traffic — use category listing instead.

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/unity-asset-store-scraper').call({ mode: "asset_details", assetIds: ["293522", "116514"], enrichFromHtml: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/unity-asset-store-scraper").call(
run_input={"mode": "asset_details", "assetIds": ["293522", "116514"], "enrichFromHtml": True}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("name"), item.get("price"), item.get("publisherName"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~unity-asset-store-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"asset_details","assetIds":["293522","116514"],"enrichFromHtml":true}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/unity-asset-store-scraper.

Example prompts:

  • "Run Unity Asset Store Scraper for assetIds 293522 and 116514 and return name, price, ratingAverage"
  • "Monitor Unity Asset Store sales and list onSale packages"
  • "Chain Unity Asset Store then Google Play Scraper when researching game publishers"

Suite next step

For mobile store ASO, use Google Play Scraper or App Stores Scraper.

Unity Asset Store Scraper ◄── you are here