
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Adobe Stock search results by keyword, search URL or contributor. Photos, vectors, videos, templates and 3D: titles, creators, sizes, previews, keywords and prices.
Search Adobe Stock by keyword, search URL or contributor and export clean asset data: ID, title, contributor, country, size, category, full keyword list, file size, creation date and preview links for photos, illustrations, vectors, videos, templates and 3D. No login needed: 1,000 assets with keywords take about 25 seconds, 10,000 about two minutes, and every row is a flat JSON record ready for a spreadsheet or database.
| Field | Description |
|---|---|
queries | Keywords, one search each. |
searchUrls | Adobe Stock search or contributor URLs (keyword, type, order and filters in the URL are used). |
creatorId | Contributor ID, alone (whole portfolio) or combined with keywords. |
maxItems | Total unique assets to save (default 20, 0 = no limit). |
assetType | all, images, photo, illustration, vector, video, template, 3d. |
priceFilter | all, standard, premium. |
orientation | all, horizontal, vertical, square, panoramic. |
aiFilter | all, only, exclude. |
isolated, transparent, copySpace, iconOption | Content filters. |
minWidth, minHeight, minMegapixels | Size filters. |
colors | Hex colors such as ff0000,0000ff. |
order | relevance, newest, downloads, popularity, undiscovered. |
includeKeywords | Add each asset's keywords (default on). |
maxItemsPerQuery | Optional cap per keyword or URL. |
{
"queries": ["mountain landscape", "business teamwork"],
"assetType": "photo",
"orientation": "horizontal",
"aiFilter": "exclude",
"minWidth": 3000,
"order": "downloads",
"maxItems": 200
}
| Field | Meaning |
|---|---|
assetId, stockId | Adobe Stock IDs |
assetTitle, assetKind, assetType | Title and kind (photo, illustration, vector, video, template, 3d) |
creatorId, creatorName, countryName | Contributor and contributor country |
pixelWidth, pixelHeight, sizeBytes | Original size and file size |
thumbUrl, thumb110Url … thumb1000Url, thumbWidth, thumbHeight | Watermarked preview images in six sizes |
compUrl, compWidth, compHeight | Watermarked comp |
detailsUrl | Asset page |
category, categoryInfo, categoryHierarchy | Category |
keywords | Full keyword list |
isPremium, premiumLevelId, isGenerativeAi, isTransparent, isEditorial, hasReleases | Flags |
contentType, mediaTypeId, vectorType, iconOption, createdAt | File type and upload date |
videoPreviewUrl, videoDurationMs, videoFramerate, isLoop, videoComps | Video details |
templateType, templateCategoryIds, description | Template details |
searchQuery, searchPage, position | Which search found it, and where |
Sample row (fictional contributor, real shape):
{
"assetId": 123456789,
"assetTitle": "Hikers on a mountain ridge at sunrise",
"assetKind": "photo",
"assetType": "Photo",
"creatorId": 200000001,
"creatorName": "Northlight Studio",
"countryName": "Switzerland",
"pixelWidth": 6000,
"pixelHeight": 4000,
"thumbUrl": "https://as1.ftcdn.net/v2/jpg/01/23/45/67/500_F_123456789_example.jpg",
"thumb1000Url": "https://as1.ftcdn.net/v2/jpg/01/23/45/67/1000_F_123456789_example.jpg",
"detailsUrl": "https://stock.adobe.com/123456789",
"compUrl": "https://stock.adobe.com/Rest/Libraries/Watermarked/Download/123456789/2",
"mediaTypeId": 1,
"contentType": "image/jpeg",
"category": "Landscapes",
"categoryInfo": { "id": 1043, "name": "Landscapes" },
"isPremium": false,
"isGenerativeAi": false,
"isTransparent": false,
"isEditorial": false,
"hasReleases": true,
"sizeBytes": 9812345,
"createdAt": "2023-06-14 08:12:45.123456",
"keywords": ["mountain", "hiking", "sunrise", "ridge", "landscape"],
"searchQuery": "mountain landscape",
"searchPage": 1,
"position": 1
}
$0.40 per 1,000 assets ($0.0004 each), no start fee. Platform usage is billed separately and is tiny: a 1,000-asset run uses well under one cent of compute and datacenter proxy traffic. Example: 1,000 assets with keywords ≈ $0.40 plus less than $0.01 of usage.
Is it legal? The actor reads public Adobe Stock search results only. You are responsible for how you use the data and for respecting Adobe Stock's terms and the licenses of the assets.
Do I need a login or an Adobe account? No.
Do I need my own proxy? No. A datacenter proxy is used by default; the run switches to residential only if datacenter is blocked.
How many results can I get? Adobe Stock search serves up to 10,000 results per search and sort order. For relevance sorting, some keywords repeat assets across pages; the actor removes repeats and tops the search up from the most-downloaded order, so a 10,000 run still returns 10,000 unique assets when that many exist. Use several keywords or filters to go wider.
What if a field is empty? Fields Adobe Stock does not provide for an asset type are left out of the row (for example, video fields on photos).
Can I schedule it or use the API? Yes: schedules, webhooks and the API all work.
query, maxItems, creatorId, assetType, priceFilter, orientation, panoramic, aiFilter, colors, minWidth, minHeight, minMegapixels and order are accepted with the same names; keywords are returned as keywords, a list of strings.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
queriesarrayOptionalSearch keywords
One Adobe Stock search per line, for example mountain landscape or business teamwork. Filters below apply to every keyword.
searchUrlsarrayOptionalSearch or contributor URLs
Adobe Stock search result URLs (stock.adobe.com/search?k=...) or contributor portfolio URLs. Keyword, asset type, sort order and the usual filters in the URL are used; the Filters section does not change them.
creatorIdintegerOptionalContributor ID
Optional Adobe Stock contributor ID. Use it alone for that contributor's whole portfolio, or with keywords to search inside the portfolio.
maxItemsintegerOptionaldefault 20Maximum assets
Total number of unique assets to save across all searches. 0 means no limit. Adobe Stock search serves up to 10,000 results per search and sort order.
Filters apply to keyword searches and contributor IDs. Search URLs keep their own filters.
assetTypeenumOptionaldefault "all"Asset type
What to search. Images means photos, illustrations and vectors.
priceFilterenumOptionaldefault "all"Price
Standard hides premium assets. Premium keeps premium assets only.
orientationenumOptionaldefault "all"Orientation
Shape of the asset.
aiFilterenumOptionaldefault "all"Generative AI
Include, hide, or show only AI-generated assets.
isolatedbooleanOptionaldefault falseIsolated (cutout) only
Only assets on an isolated background.
transparentbooleanOptionaldefault falseTransparent background only
Only assets with a transparent background.
copySpacebooleanOptionaldefault falseCopy space only
Only assets with room for text.
iconOptionenumOptionaldefault "all"Icons
Only icon sheets or only single icons.
minWidthintegerOptionalMinimum width (px)
Smallest allowed width in pixels.
minHeightintegerOptionalMinimum height (px)
Smallest allowed height in pixels.
minMegapixelsnumberOptionalMinimum megapixels
Smallest allowed size in megapixels (rounded up to a whole number).
colorsstringOptionalColors (hex)
One or more hex colors separated by commas, for example ff0000 or ff0000,0000ff.
orderenumOptionaldefault "relevance"Sort order
How Adobe Stock sorts the results.
Output and per-search limits.
includeKeywordsbooleanOptionaldefault trueInclude keywords
Add the asset's keyword list to every row. Keywords come in the same request; turn it off for slightly faster, lighter runs.
maxItemsPerQueryintegerOptionaldefault 0Maximum assets per search
Optional cap for each keyword and each URL. 0 means only the total limit applies.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy used to reach Adobe Stock. Datacenter works well; the run switches to residential only if datacenter is blocked.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| assetId | integer | Adobe Stock asset ID |
| assetTitle | string | Asset title |
| assetKind | string | photo, illustration, vector, video, template or 3d |
| creatorName | string | Contributor name |
| creatorId | integer | Contributor ID |
| pixelWidth | integer | Original width in pixels |
| pixelHeight | integer | Original height in pixels |
| thumbUrl | string | 500 px preview |
| detailsUrl | string | Asset page |
| keywords | array | Keywords |
| categoryInfo | object | Category id and name |
| isGenerativeAi | boolean | AI-generated |
| searchQuery | string | Search that found the asset |
| category | string | Category name |
| countryName | string | Contributor country |
| isPremium | boolean | Premium collection asset |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Asset | Charged once for each Adobe Stock asset saved to the dataset. | $0.0004 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/adobe-stock-scraper').call({
"queries": [
"mountain landscape"
],
"searchUrls": [],
"maxItems": 20,
"assetType": "all",
"priceFilter": "all",
"orientation": "all",
"aiFilter": "all",
"iconOption": "all",
"order": "relevance",
"maxItemsPerQuery": 0,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/adobe-stock-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/adobe-stock-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Images and videos from pasted Adobe Stock searches, with keywords.
Horizontal standard-license images, newest first.
Assets from one Adobe Stock contributor, with keywords.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.