Adobe Stock Scraper & API: Keywords, Downloads, Views avatar

Adobe Stock Scraper & API: Keywords, Downloads, Views

Pricing

from $0.30 / 1,000 assets

Go to Apify Store
Adobe Stock Scraper & API: Keywords, Downloads, Views

Adobe Stock Scraper & API: Keywords, Downloads, Views

Adobe Stock scraper for assets from keywords, search URLs, asset URLs, contributor portfolios or similar images: title, keywords, downloads, views, contributor, upload date, AI label, premium, size, previews. Photos, vectors, illustrations, videos, templates and 3D.

Pricing

from $0.30 / 1,000 assets

Rating

0.0

(0)

Developer

Quarra Labs

Quarra Labs

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Get Adobe Stock assets in bulk, without an account or API key: photos, illustrations, vectors, videos, templates and 3D. Give it keywords, an Adobe Stock search URL, asset URLs, contributors, or any image to find similar ones. Each asset comes back with its full keyword list, its number of downloads and views, the contributor, the category, the upload date, size, format, AI label and preview links. Export as JSON, CSV or Excel, or read it through the Apify API.

$0.60 per 1,000 assets, plus a small start fee per run. Assets that no longer exist, repeats and inputs that fail are not charged.

Quick start

  1. Type keywords (or paste an Adobe Stock search URL) into Search keywords or search URLs, or paste asset links into Asset URLs or IDs.
  2. Set Max assets and, if you want more than 100 per search, Max results per search.
  3. Click Start and read the assets in the run's Output tab.

Like any Apify Actor, it can also be run and read through the Apify API, scheduled, and connected to webhooks, Make, Zapier, n8n or Apify's MCP server for AI agents.

What it is used for

  • Keyword research for contributors: the keywords the best-selling assets of a topic use, and how many downloads they have.
  • Demand by niche: downloads and upload dates across a topic, a content type or the last month's uploads.
  • Contributor portfolios: everything a contributor has online, with downloads per asset.
  • Tracking your own assets: downloads and views of a list of asset IDs, run after run.

What you get

Asset ID, URL, title, type (photo, illustration, vector, video, template, 3D)yes
Keywords and their numberyes
Downloads and views, as counted by Adobe Stockyes
Contributor: name, ID, portfolio URL, countryyes
Category, its ID and full pathyes
Upload dateyes
Generative AI label, premium collection, model releaseyes
Width, height, orientation, file format, file sizeyes
Videos: duration, frame rate, preview video linksyes
Thumbnails (500 and 1,000 px) and the watermarked previewyes
Position in the searchyes, when it comes from a search

Measured on 8,817 assets (12/10/2026): keywords on 99.9 %, downloads on 99.3 %, contributor country on 99.9 %, category on 96.4 %.

Inputs

  • Search keywords or search URLs: coffee shop, or a search URL copied from stock.adobe.com, in any language (its keywords, language, sort and filters are kept; the run summary names any filter that could not be applied).
  • Asset URLs or IDs: https://stock.adobe.com/images/barista-making-coffee/300428267, any language and asset type, or just 300428267. Thumbnail links (ftcdn.net) are read too. Up to 100,000 per run.
  • Contributors: https://stock.adobe.com/contributor/206684585/… or 206684585: their portfolio.
  • Similar to: an Adobe Stock asset URL or ID, or a direct link to a JPEG or PNG image on the web: visually similar Adobe Stock assets.
  • Up to 5,000 searches, contributors and similar-to inputs per run.
  • Max assets: total assets the run delivers, counted exactly. Max results per search: up to 10,000.
  • Sort: relevance, downloads, newest, featured, undiscovered.
  • Filters: content types, generative AI (all, exclude, only), premium collection, orientation, added within (a week to two years), model release, transparent background, copy space, color, video duration.
  • Language: keywords come in that language (20 languages), and search keywords are read in it. Titles stay as written by the contributor.

Example, through the API:

{
"searchQueries": ["coffee shop"],
"maxItems": 1000,
"maxResultsPerSearch": 1000,
"sort": "downloads",
"contentTypes": ["photo"],
"aiGenerated": "exclude",
"addedWithin": "1y"
}

Output

One record per asset in the dataset. A shortened asset:

{
"type": "asset",
"status": "ok",
"assetId": 300428267,
"url": "https://stock.adobe.com/300428267",
"title": "Barista making coffee in coffee shop, hands holding cup of coffee.",
"assetType": "photo",
"keywords": ["people", "bar", "machine", "hot drink", "hand", "eatery", "…"],
"keywordCount": 43,
"downloads": 1797,
"views": 0,
"creatorName": "Aleksandrs Muiznieks",
"creatorId": 206684585,
"creatorUrl": "https://stock.adobe.com/contributor/206684585",
"creatorCountry": "Latvia",
"uploadedAt": "2019-11-04T20:15:00",
"category": "Drinks",
"categoryPath": ["Drinks"],
"isAIGenerated": false,
"isPremium": false,
"hasModelRelease": false,
"width": 4800,
"height": 3200,
"orientation": "horizontal",
"fileFormat": "image/jpeg",
"fileSizeBytes": 10522282,
"thumbnailUrl": "https://as1.ftcdn.net/v2/jpg/03/00/42/82/500_F_300428267_QndUXocKZb92jE1RKf5fBoQUIo8bxeME.jpg",
"previewUrl": "https://stock.adobe.com/Rest/Libraries/Watermarked/Download/300428267/2",
"input": "coffee shop",
"inputType": "search",
"position": 1,
"scrapedAt": "2026-10-12T03:59:20.090Z"
}

Fields that need a word of explanation:

  • status: ok (delivered, charged), unavailable (free: an asset ID that Adobe Stock no longer shows), error (free; error says why, retryable says if a later run may work).
  • views: Adobe Stock shows 0 for many assets (about 4 in 5 in our sample), even assets with downloads.
  • durationSeconds and frameRate are set for videos only; vectorFormat for vectors.
  • previewUrl is Adobe Stock's watermarked preview. Licensed files are not downloaded.

The run summary (counts per input, why the run stopped, notes) is the OUTPUT record of the run's key-value store.

Pricing

Pay per event:

EventPrice
Asset$0.60 per 1,000
Run start$0.0006 per GB of memory (1 GB minimum; $0.0006 at the default 256 MB)

Higher Apify plans pay less per asset. Never charged: assets that no longer exist, error records, repeats (an asset found by two searches, or shown again by Adobe Stock, is delivered once). Set Maximum cost per run in the run options and the run stops before going over it.

Speed, measured on Apify (12/10/2026): 1,000 assets in 9 s, 7,817 in 2 min 15 s.

Limits

  • 10,000 results per search. Adobe Stock shows no more for one search. Split a bigger one with filters (content type, added within, orientation); the run summary says when a search reached this limit.
  • Repeats in some sorts. Sorted by relevance, newest or featured, Adobe Stock shows some assets again on later pages: for business, 2,139 of the first 10,000 results were repeats (12/10/2026). They are skipped and not charged, so such a search can deliver fewer assets than you asked. Sorted by downloads, each asset comes once.
  • Sort by downloads is Adobe Stock's own ranking: it follows downloads, but not strictly.
  • Premium only: Adobe Stock's own filter also returns many assets outside the premium collection; they are skipped and not charged, so the run reads more pages for the same number of assets.
  • Asset descriptions are not available, and neither are license prices (they depend on your Adobe plan).

FAQ

Do I need an Adobe account? No.

What if the run is restarted by the platform (migration or reboot)? It resumes where it was: assets already in the dataset are not delivered or charged again.

Can I get the full-resolution files? No. You get the data and the watermarked previews; files are licensed from Adobe Stock.

Is it legal? It collects public data shown to any visitor of Adobe Stock. Check the rules that apply to your use of the data, and remember that the images themselves belong to their contributors.

Does the Actor send anything to Quarra? Only when a run fails or runs out of time: the Actor, its build, the error type, the line of our code where it happened, and the memory and time the run was given, so we can fix it fast. Never your input, your results, your account or the run ID.