Shift4Shop Scraper - 3dcart Product Catalog
Pricing
from $0.75 / 1,000 shift4shop catalog rows
Shift4Shop Scraper - 3dcart Product Catalog
Export product catalogs from public Shift4Shop and legacy 3dcart stores. Export JSON or CSV and monitor changes. $0.75 per 1,000 rows plus $0.001 per run.
Pricing
from $0.75 / 1,000 shift4shop catalog rows
Rating
0.0
(0)
Developer
Andy Besos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Shift4Shop Scraper - 3dcart Product Catalog helps you export product catalogs from public Shift4Shop and legacy 3dcart stores. Collect product IDs, names, prices, currency and availability; optional RSS rows show on-sale, new-release and bestseller feed membership.
Enter a product, category or storefront URL. The Actor reads public pages, sitemaps and optional RSS feeds without a store account or merchant API key. Actor event charges at the default 256 MB memory are $0.001 per run plus $0.00075 per exported row: $0.751 for 1,000 rows.
Selected fields from a recent successful run; source values can change:
{"id": "19","name": "Hope Sunglasses","price": 3500,"currency": "USD","availability": "in_stock","source": "product"}
Why use this Shift4Shop catalog extractor?
- Product details: capture
id,catalogId,price,currency,availabilityand the publicinventoryItemobject from product pages. Standard page microdata provides a fallback for key fields. - Catalog discovery: follow category links from the home page up to the configured depth and add product links found in the store sitemap.
- Feed context: optional RSS requests add separate
source: "rss"rows. Product rows carryonSale,newReleaseandbestSellerflags when feeds are checked. - Change history: reuse a Monitor ID in scheduled runs to see new, updated and removed rows, including changes in public price or availability.
- Small example run: paste one product URL to inspect a single page before crawling a whole storefront.
Transient HTTP errors are retried. A failed product page is logged, and the run can still return other products; incomplete crawls do not emit removal events for missing pages.
Pricing
The price is $0.001 per run plus $0.00075 per exported row at the default 256 MB memory. A product row and an RSS row each count as a row. The maximum-row setting limits billed dataset rows, although catalog discovery can still make requests to build a monitoring snapshot.
| Exported rows | Estimated charge |
|---|---|
| 1 | $0.00175 |
| 100 | $0.076 |
| 1,000 | $0.751 |
| 10,000 | $7.501 |
These figures use one start charge and exclude any unrelated account costs. A run with a different memory setting can have a different start charge.
How to use this Actor
For a quick product check, use a direct product page:
{"targets": ["https://standard-preview-com.3dcartstores.com/Hope-Sunglasses_p_19.html"],"maxItemsPerTarget": 1}
Click Start, inspect the Dataset, then export JSON or CSV. Start with RSS disabled to inspect one product row. When you enable RSS feeds, source and rssType distinguish feed records from product records; both exported row types are billable.
For the demo storefront catalog and its three RSS feeds:
{"targets": ["https://standard-preview-com.3dcartstores.com/"],"categoryDepth": 2,"includeRss": true,"maxItemsPerTarget": 0}
You can also enter a category link such as https://standard-preview-com.3dcartstores.com/Men_c_1.html or a bare store hostname. The Actor normalizes those inputs to a public target URL and only follows links on the same host.
Monitor new, updated, and removed products
Use at most 18 characters in monitorId to keep independent schedules distinct. Longer values are shortened for the monitor snapshot.
Set a stable monitorId and schedule the same store with the same crawl settings. Each row has a changeType:
| Value | Meaning |
|---|---|
new | First observation of this product or feed entry |
updated | A monitored field changed since the last run |
unchanged | No monitored field changed |
removed | A record disappeared during a complete crawl |
Use onlyChangesSince with an ISO 8601 timestamp to export just changes after that time. Keep the same target and includeRss setting across scheduled runs. Product and RSS rows have distinct stable itemId values. The Actor keeps unseen prior records in its snapshot when a page fails or a crawl cap is reached, so a partial crawl does not invent removals.
API example
curl "https://api.apify.com/v2/acts/Clintsa~shift4shop-product-catalog-extractor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"targets":["https://standard-preview-com.3dcartstores.com/Hope-Sunglasses_p_19.html"],"includeRss":false,"maxItemsPerTarget":1}'
The synchronous endpoint is best for a one-product run. For larger storefronts, start an asynchronous Actor run and fetch its dataset after completion.
Input options
| Option | What it controls |
|---|---|
targets | One or more public store, category or product URLs |
maxItemsPerTarget | Export cap per target; 0 exports every observed row |
includeRss | Read on-sale, new-release and bestseller feeds and emit RSS rows |
categoryDepth | Number of category link levels to follow; default 2 |
maxProductPages | Product page request cap; 0 means no cap |
maxCategoryPages | Category/listing request cap; 0 means no cap |
requestDelayMillis | Pause between requests to a storefront; default 200 ms |
monitorId | Snapshot namespace shared by repeated runs |
onlyChangesSince | Optional timestamp filter for new, updated and removed rows |
Output
A product row from the public Shift4Shop demo looks like this (timestamps vary):
{"target": "https://standard-preview-com.3dcartstores.com/Hope-Sunglasses_p_19.html","itemId": "product:19","id": "19","catalogId": "19","name": "Hope Sunglasses","price": 3500,"currency": "USD","availability": "in_stock","inventoryItem": {"catalogid": 19, "id": "19", "name": "Hope Sunglasses", "price": 3500, "availability": 1, "currency": "USD"},"source": "product","rssType": null,"productUrl": "https://standard-preview-com.3dcartstores.com/Hope-Sunglasses_p_19.html","changeType": "new"}
RSS rows have source: "rss" and an rssType of onsale, newreleases or bestsellers. If their product page was also found, they include its price and inventory object. The SUMMARY key-value record reports requested and successful targets, product and RSS counts, exported rows and whether a crawl was incomplete.
Use cases
- Compare public Shift4Shop prices and stock across merchant storefronts.
- Build a recurring catalog snapshot for wholesale or dropship sourcing.
- Watch products entering or leaving a store's public RSS promotion feeds.
- Audit whether visible product pages show the expected catalog IDs and prices.
- Feed price and availability changes into a dashboard or alert workflow.
FAQ
Does it need a Shift4Shop account? No. It reads public storefront pages and feeds only.
Will it work on every Shift4Shop theme? It handles the _3d_item pattern and common product microdata, but a customized theme may expose different markup or no product links.
What if a store does not offer RSS? Product rows can still be returned. The summary marks a failed feed request as an incomplete crawl; disable includeRss if the store has no feeds.
Will the Actor discover every product? It follows visible category links and a sitemap when available. Hidden, unlinked or access-restricted products cannot be guaranteed.
Does availability mean an exact inventory count? No. It reflects the public availability indicator, not the merchant's private stock ledger.
Can it use a proxy or bypass a block? No. It does not use a browser, proxy or access-bypass step. It respects the storefront's robots.txt rules.
Limitations and responsible use
The Actor only reads publicly served data and cannot access private inventory, customer details, admin APIs or checkout pages. RSS flags show membership in the feed at observation time; they do not establish historical promotions. Each store can have its own robots rules and terms. Shift4Shop publishes service terms that restrict automated crawling or scraping of its Services; check which terms and permissions apply before using this Actor on a store.
Support
Use the Actor's Issues tab and include the run ID, storefront URL and the product page or feed that behaved unexpectedly. Do not include account credentials.
Related tools: Sitemap Scraper - XML URL Extractor & Monitor.