Amazon ASIN Scraper With Profit & Fee Estimates
Pricing
Pay per usage
Amazon ASIN Scraper With Profit & Fee Estimates
Scrape Amazon products by ASIN with the Amazon ASIN Scraper. Extract titles, prices, descriptions, ratings, reviews, images, and stock info for any ASIN. Perfect for product research, competitor analysis, and inventory tracking. Fast, accurate, and scalable for bulk ASINs.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Amazon ASIN Scraper — Product Data With Profit & Fee Estimates
Amazon ASIN Scraper With Profit & Fee Estimates turns a list of ASINs into full product records, then runs every price through Amazon's own referral and FBA fulfilment fee logic to show what a seller actually nets. Each row carries the scraped listing — price, brand, images, attributes, A+ content, variants, bestseller ranks — next to a versioned fee estimate, landed cost, profit per unit, margin, ROI and break-even price. Every response is structured JSON, ready for a spreadsheet, a sourcing pipeline, or an LLM as context. No other Amazon ASIN scraper on the Apify Store computes fees or profit from what it scrapes.
What is Amazon ASIN Scraper With Profit & Fee Estimates?
Amazon ASIN Scraper With Profit & Fee Estimates queries Amazon's public product detail pages by ASIN and returns two things in every result row: the full scraped product record, and a computed unit-economics estimate — Amazon's referral fee, FBA fulfilment fee, net proceeds and, once you supply a unit cost, profit per unit, margin, ROI and break-even sell price. No Amazon account, Seller Central login or Associates approval is required; every field comes from the public /dp/<ASIN> page.
What none of the competing Amazon scrapers on the Apify Store do is the fee and profit math. junglee/amazon-asins-scraper, jaybird/amazon-product-data-scraper and harvestlab/amazon-scraper all return catalogue and pricing data, but none of their documented output fields compute a referral fee, an FBA fulfilment fee, or a profit-per-unit figure (checked on their Apify Store listings, 2026-07-25).
- Full product record — title, brand, price, images, attributes, A+ content, brand story, variants, bestseller ranks, seller and delivery data
- Referral fee + FBA fulfilment fee estimate, itemised per fee in
feeBreakdown[] - Profit per unit, margin %, ROI % and break-even sell price once
unitCostis supplied - Storefront control via
marketplaceDomainandpageLanguage - Delivery-location control via
deliveryPostcode, so the priced buy box matches a real destination - Proxy/geo control via
exitCountry, so requests exit from the market you're costing for
📦 What data can you get with Amazon ASIN Scraper?
Every successful ASIN produces one dataset row combining a scraped product record with a computed fee and profit estimate. Nothing is fetched from a second endpoint — both come out of parsing the same page.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Product record | title, brand, price, listPrice, stars, starsBreakdown, reviewsCount, breadCrumbs, attributes, features, description, galleryThumbnails, highResolutionImages, variantAsins, variantDetails, bestsellerRanks, seller, delivery, condition, aPlusContent, brandStory | Catalogue enrichment, listing QA, competitor teardown |
| Fee & profit estimate | feeCategory, referralFeePercent, estimatedReferralFee, estimatedClosingFee, sizeTier, billableWeightPounds, estimatedFulfilmentFee, estimatedAmazonFeesTotal, estimatedNetProceeds, landedUnitCost, estimatedProfitPerUnit, estimatedProfitMarginPercent, estimatedRoiPercent, estimatedBreakEvenSellPrice, feeBreakdown | Sourcing decisions, PO approval, catalogue-wide profitability audits |
| Sales-volume & rank signal | salesVolumeAvailable, salesVolumeBadgeText, estimatedMonthlyUnitsLow, estimatedMonthlyUnitsHigh, estimatedMonthlyProfitLow, bestsellerRanks | Demand sizing before you commit to a purchase order |
Fee & profit estimate
This is the field group nothing else on the Store returns. Referral fee is looked up from the product's own breadcrumb category against a hardcoded, versioned rate table (feeScheduleVersion, e.g. amazon-us-2026-07) — flat or price-tiered depending on category, with a $0.30 minimum and a $1.80 media closing fee where it applies. FBA fulfilment fee comes from Item Weight and Item Dimensions, parsed off the page into a size tier (Small Standard through Extra-Large 150+ lb) and a billable weight — the greater of actual weight and dimensional weight (L×W×H ÷ 139) above the small-standard tier. Net proceeds is sell price minus all three fees. Once you add unitCost, inboundShippingCost and extraCostPerUnit, the same row adds landed cost, profit per unit, margin %, ROI % and the sell price at which you break even. feeEstimateBasis and feeAssumptions sit next to every money field so the arithmetic can be checked by hand — and every field the fee engine can't support stays null, never 0.
"feeBreakdown": [{ "fee": "Referral fee", "amount": 3.44, "basis": "8.0% of 42.99 (Consumer Electronics), $0.30 minimum" },{ "fee": "Closing fee", "amount": 0.0, "basis": "not applicable to this category" },{ "fee": "FBA fulfilment fee", "amount": 3.68, "basis": "Large Standard, billable weight 1.2 lb" }]
Product record
Every ASIN also returns the underlying catalogue record the fee math is built from: title, brand, byline/author, current and list price, stock and condition text, star rating plus the full ratings histogram, review count, breadcrumb category, feature bullets, the full attributes table (the same table Item Weight/Item Dimensions are parsed from), A+ content modules, brand story carousel, product-comparison widget, variant ASINs with per-variant price and image, bestseller ranks per category, seller and ships-from data, and delivery messaging. Set trimRichContent: true to blank the heaviest fields (A+ content, brand story, comparison table, both image arrays) when a costing sheet doesn't need them.
How does Amazon ASIN Scraper differ from Amazon's official APIs?
Amazon publishes two relevant APIs, and neither alone does what this Actor does. The Product Advertising API (PA-API 5) returns catalogue data but is gated behind an Amazon Associates account and has been formally deprecated — as of the check below, its own documentation redirects to a deprecation notice stating that calls now return an HTTP 403 and that integrators should migrate to the new Creators API. The Selling Partner API's Product Fees API (getMyFeesEstimateForASIN) does compute referral and fulfilment fees, but only for an authorised Selling Partner's own account, one ASIN and price per call.
| Feature | Amazon's official APIs | Amazon ASIN Scraper |
|---|---|---|
| Access requirement | Associates account (PA-API, deprecated) or an approved Selling Partner API app (SP-API) | An Apify account only — no Amazon account needed |
| Full catalogue record (images, A+, variants, ranks) | PA-API / Creators API only; SP-API Fees returns fees, not catalogue data | Yes, on every request |
| Referral + FBA fulfilment fee estimate | SP-API getMyFeesEstimateForASIN only, for your own seller account | Yes, on any public ASIN |
| Profit / margin / ROI from your unit cost | Not offered by either API | Yes, once unitCost is supplied |
| Requests per ASIN | SP-API Fees: 1 request/second, burst of 2, per Amazon's own reference docs | Batched — paste a list, one row streams back per ASIN |
| Setup | PA-API/Creators API developer registration, or SP-API OAuth app approval | Paste ASINs and click Start |
Sources checked 2026-07-25: PA-API deprecation notice at affiliate-program.amazon.com/creatorsapi/docs/en-us/paapiv5-deprecation; SP-API rate limit and request shape at developer-docs.amazon/sp-api/reference/getmyfeesestimateforasin.
Use the official APIs when you already hold Selling Partner credentials and only need fees for your own catalogue inside your own systems. Use Amazon ASIN Scraper when you want the product record and the fee math for any public ASIN — competitor, prospective supplier, or your own — without registering as a developer.
What is the difference between an Amazon ASIN scraper and an FBA fee calculator?
An ASIN scraper and an FBA fee calculator solve two different halves of the same sourcing decision, and most tools only do one. An ASIN scraper is a catalogue extraction tool: it reads a product page and hands back title, images, price, brand, category, rank and reviews. An FBA fee calculator is a math tool: you type in a price and a category by hand, and it applies Amazon's referral and fulfilment fee tables to tell you what's left — Seller Central's own fee preview and most third-party calculators work this way.
The distinction starts to matter once a catalogue is large enough that manual calculator entry, not scraping, becomes the actual bottleneck — nobody re-types weight, dimensions and category for two hundred SKUs by hand. Amazon ASIN Scraper With Profit & Fee Estimates returns both in one object: the same attributes and breadCrumbs fields a scraper would give you feed directly into feeBreakdown[] and estimatedProfitPerUnit, the numbers a calculator would produce, without re-entering a single value per ASIN.
How to scrape Amazon ASINs with Amazon ASIN Scraper?
- Open Amazon ASIN Scraper With Profit & Fee Estimates on its Apify Store listing (or call it via the Apify API).
- Paste one ASIN per line into
asins— the required parameter, 10-character Amazon Standard Identification Numbers taken from the product URL after/dp/. - Set the controls that actually change the numbers:
fulfilmentChannel(FBA,FBM, orNONE),unitCost+inboundShippingCost+extraCostPerUnitfor landed cost,exitCountryto match the buyer geography, andmarketplaceDomainif you're scraping a non-US storefront (fee fields staynullthere — the schedule is amazon.com/USD only). - Click Start. ASINs are fetched concurrently.
- Read results from the default dataset view, export as JSON/CSV/Excel/XML, or pull the keyed-by-ASIN object Apify stores under
OUTPUTin the run's default key-value store.
{ "asins": ["B07GBZ4Q68", "B0CJ4V4TRP"], "unitCost": "6.50", "fulfilmentChannel": "FBA" }
How to run multiple ASINs in one job
asins is a plain array (the schema's stringList editor) — paste hundreds of ASINs, one per line, and they all queue in a single run. Duplicates are de-duplicated case-insensitively before fetching, and anything that isn't exactly 10 alphanumeric characters is skipped with a log warning rather than submitted. Fetches run concurrently at a fixed 5 in-flight requests in this build — that figure is a source-level constant, not an input parameter, so it holds regardless of list size; larger lists simply take proportionally longer to finish.
⬇️ Input
Only asins is required. Everything else has a default that reproduces a standard FBA seller on amazon.com.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
asins | Yes | array of string | One ASIN per line, 10 alphanumeric characters. asinList/productAsins are accepted as legacy aliases. | ["B07GBZ4Q68", "B075CYMYK6"] |
marketplaceDomain | No | string, default "amazon.com" | Storefront to read from. The fee schedule covers amazon.com/USD only. Legacy key amazonDomain takes priority if both are set. | "amazon.com" |
pageLanguage | No | string, default "en", enum: "", en, en_US, en_GB, de, fr, es, it, nl, pl, pt, pt_BR, sv, tr, cs, da, ja, zh_CN, zh_TW, hi | Page language, sent as ?language=… and Accept-Language. Legacy key language takes priority. | "en" |
deliveryPostcode | No | string, default "" | Sets Amazon's delivery cookie before scraping, so the priced buy box matches that destination. Legacy key zipCode takes priority. | "10001" |
unitCost | No | string, default "" | What you pay your supplier per unit, before freight. Empty skips all profit maths; the fee side still runs. | "6.50" |
inboundShippingCost | No | string, default "" | Freight, duty and customs allocated to one unit. | "0.90" |
extraCostPerUnit | No | string, default "" | Anything else inside landed cost — prep, polybag, labelling, insert cards. | "0.35" |
fulfilmentChannel | No | string, default "FBA", enum: FBA, FBM, NONE | FBA adds an estimated fulfilment fee from the parsed size tier; FBM and NONE set it to 0. | "FBA" |
feeCategoryOverride | No | string, default "" | Force a referral-fee category instead of the breadcrumb-inferred one. An unrecognised value is ignored and the breadcrumb is used. | "Consumer Electronics" |
referralFeePercentOverride | No | string, default "" | Pin the referral percentage yourself. Values above 100 are coerced to 100 (and the coercion is logged). | "15.5" |
fulfilmentFeeOverride | No | string, default "" | Use your own per-unit fulfilment cost instead of the estimated FBA rate. | "4.55" |
includeFeeBreakdown | No | boolean, default true | Adds the itemised feeBreakdown[] array. Turn off for a narrower dataset. | true |
trimRichContent | No | boolean, default false | Blanks A+ content, brand story, comparison table and both image arrays. | false |
onlyProfitableAsins | No | boolean, default false | Skip ASINs whose estimatedProfitPerUnit is ≤ 0. Only has an effect when unitCost is supplied — without it, nothing is filtered (a warning is logged). | false |
exitCountry | No | string, default "AUTO_SELECT_PROXY_COUNTRY", enum: AUTO_SELECT_PROXY_COUNTRY, US, GB, DE, FR, ES, IT, CA, AU, JP, IN, BR, MX, NL, PL, TR, SE, AE | Proxy exit country, so the buy-box price and delivery promise match the market you're costing for. Legacy key proxyCountry takes priority. | "US" |
proxyConfiguration | No | object (proxy editor) | Full proxy override — Apify groups or your own URLs. Overrides exitCountry. Prefilled with the residential group. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
⚠️ The fee, profit and margin fields only populate for amazon.com in USD. On any other marketplaceDomain, product data still scrapes normally, but every money field comes back null with feeEstimateBasis: "unsupported_marketplace:<domain> (schedule covers amazon.com only)".
Example JSON input
{"asins": ["B07GBZ4Q68", "B0CJ4V4TRP", "B00FLYWNYQ"],"marketplaceDomain": "amazon.com","pageLanguage": "en","unitCost": "6.50","inboundShippingCost": "0.90","extraCostPerUnit": "0.35","fulfilmentChannel": "FBA","includeFeeBreakdown": true,"onlyProfitableAsins": false,"exitCountry": "US","proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Common pitfall: asins only accepts bare 10-character codes, not full URLs. Pasting https://www.amazon.com/dp/B07GBZ4Q68 (or an ISBN-13, or a stray space) fails the [A-Za-z0-9]{10} check silently — the run logs "Skipping non-ASIN input" and moves on, so a copy-paste mistake produces a shorter dataset rather than a visible error. Strip the URL down to the code after /dp/ before pasting.
⬆️ Output
Each ASIN produces one dataset item — typed, normalized JSON with a consistent schema across runs. Export as JSON, CSV, Excel, XML, or RSS from the Apify Console, or read it back through the API/SDK. The full keyed-by-ASIN result is also written to the run's default key-value store under the key OUTPUT, including entries onlyProfitableAsins filtered out of the dataset.
Scraped results
The default dataset view surfaces 29 columns for a quick read. The dataset row itself carries more — every key below is present on a successful record (many can be null when the page or fee engine has nothing to report).
Default view (29 fields): asin, title, sellPrice, sellPriceCurrency, feeCategory, feeCategorySource, referralFeePercent, estimatedReferralFee, estimatedClosingFee, sizeTier, billableWeightPounds, estimatedFulfilmentFee, estimatedAmazonFeesTotal, estimatedNetProceeds, landedUnitCost, estimatedProfitPerUnit, estimatedProfitMarginPercent, estimatedRoiPercent, estimatedBreakEvenSellPrice, salesVolumeAvailable, salesVolumeBadgeText, estimatedMonthlyUnitsLow, estimatedMonthlyProfitLow, feeEstimateAvailable, feeEstimateBasis, feeScheduleVersion, stars, reviewsCount, url.
Additional identity/link fields not in the view: originalAsin (string), unNormalizedProductUrl (string), input (string, the request URL), position (integer, fetch order), isPinnedOffer (boolean, true for the first item), visitStoreLink (string|null), reviewsLink (string), shipsFrom (string|null).
Pricing & availability: price (object {value, currency}|null), listPrice (object|null), priceRange (string|null), inStock (boolean|null), inStockText (string|null), shippingPrice (object|null), condition (string|null), delivery (string|null), fastestDelivery (string|null), returnPolicy (string|null), support (string|null).
Brand & reputation: brand (string|null), author (string|null), starsBreakdown (object, e.g. {"5star": 0.81}), answeredQuestions (integer|null), isAmazonChoice (boolean), amazonChoiceText (string|null), bestsellerRanks (array of {rank, category, url}), aiReviewsSummary (object|null).
Rich content & media: description (string|null), bookDescription (string|null), features (array of string), breadCrumbs (string|null), videosCount (integer), thumbnailImage (string|null), galleryThumbnails (array of string), highResolutionImages (array of string), importantInformation (string|null), sustainabilityFeatures (object|null), aPlusContent (object|null), brandStory (object|null), productComparison (object|null).
Variants & attributes: variantAsins (array of string), variantDetails (array of object), variantAttributes (array of {key, value}), attributes (array of {key, value}), productOverview (array of {key, value}), hasReviews (boolean), seller (object|null), monthlyPurchaseVolume (string|null, raw badge text), locationText (string|null), loadedCountryCode (string|null).
Fee schedule & assumptions: feeScheduleCurrency (string, "USD"), feeScheduleMarketplace (string, "amazon.com"), feeAssumptions (array of string, the plain-language rules the estimate was built under).
Weight/dimension parsing: itemWeightPounds (number|null), itemWeightGrams (number|null), itemWeightSource (string|null, the raw page value), itemDimensionsInches (array of number|null), itemDimensionsSource (string|null), dimensionalWeightPounds (number|null).
Fee/profit internals: fulfilmentChannel (string, echo of the resolved input), profitEstimateAvailable (boolean), feeBreakdown (array, omitted entirely when includeFeeBreakdown is false).
Sales-volume internals: salesVolumeSource (string|null, "amazon_social_proof_badge"), estimatedMonthlyUnitsHigh (integer|null — stays null for Amazon's open-ended "10K+" badges; only populated when the badge itself is bounded).
[{"asin": "B07GBZ4Q68","title": "Logitech G502 HERO High Performance Wired Gaming Mouse","url": "https://www.amazon.com/gp/product/B07GBZ4Q68?smid=","originalAsin": "B07GBZ4Q68","price": { "value": 42.99, "currency": "$" },"listPrice": null,"inStock": true,"inStockText": "In Stock","brand": "Logitech G","stars": 4.6,"starsBreakdown": { "5star": 0.72, "4star": 0.15, "3star": 0.06, "2star": 0.03, "1star": 0.04 },"reviewsCount": 55283,"breadCrumbs": "Video Games > PC > Accessories > Gaming Mice","attributes": [{ "key": "Item Weight", "value": "5.11 ounces" },{ "key": "Item Dimensions LxWxH", "value": "5.12 x 2.65 x 1.61 inches" }],"features": ["HERO 25K sensor, up to 25,600 DPI", "11 programmable buttons"],"galleryThumbnails": ["https://m.media-amazon.com/images/I/61mpMH5TzkL._SS40_.jpg"],"bestsellerRanks": [{ "rank": 42, "category": "PC Gaming Mice", "url": "https://www.amazon.com/gp/bestsellers/..." }],"seller": { "name": "Amazon.com", "id": null, "url": "https://www.amazon.com", "reviewsCount": null, "averageRating": null },"feeScheduleVersion": "amazon-us-2026-07","feeScheduleCurrency": "USD","feeScheduleMarketplace": "amazon.com","feeAssumptions": ["US marketplace (amazon.com) standard selling plan; no per-item $0.99 fee.","Referral percentage derived from the product's own breadcrumb trail, not from a Seller Central category assignment.","Minimum referral fee $0.30. Media closing fee $1.80 where the category is books/music/video/video-games.","FBA fulfilment fee uses the non-apparel, non-dangerous-goods rate card; apparel and hazmat rates are higher.","Billable weight = greater of unit weight and dimensional weight (L x W x H / 139) for anything above 1 lb.","Storage, long-term storage, inbound placement, returns processing, advertising and refund administration fees are NOT included."],"sellPrice": 42.99,"sellPriceCurrency": "$","itemWeightPounds": 0.3194,"itemWeightGrams": 145.0,"billableWeightPounds": 0.3194,"sizeTier": "Small Standard","fulfilmentChannel": "FBA","feeCategory": "Video Games","feeCategorySource": "breadcrumb","referralFeePercent": 15.0,"estimatedReferralFee": 6.45,"estimatedClosingFee": 1.80,"estimatedFulfilmentFee": 3.15,"estimatedAmazonFeesTotal": 11.40,"estimatedNetProceeds": 31.59,"landedUnitCost": 6.85,"estimatedProfitPerUnit": 24.74,"estimatedProfitMarginPercent": 57.55,"estimatedRoiPercent": 361.17,"estimatedBreakEvenSellPrice": 12.76,"feeEstimateAvailable": true,"feeEstimateBasis": "referral=breadcrumb; fulfilment=fba_rate_card; schedule=amazon-us-2026-07","profitEstimateAvailable": true,"feeBreakdown": [{ "fee": "Referral fee", "amount": 6.45, "basis": "15.0% of 42.99 (Video Games), $0.30 minimum" },{ "fee": "Closing fee", "amount": 1.80, "basis": "media category flat fee" },{ "fee": "FBA fulfilment fee", "amount": 3.15, "basis": "Small Standard, billable weight 0.3194 lb" }],"salesVolumeAvailable": true,"salesVolumeSource": "amazon_social_proof_badge","salesVolumeBadgeText": "3K+ bought in past month","estimatedMonthlyUnitsLow": 3000,"estimatedMonthlyUnitsHigh": null,"estimatedMonthlyProfitLow": 74220.0}]
Abbreviated view of a 3-ASIN batch, showing the fields most sourcing decisions read first — every item still carries the full field set documented above:
[{ "asin": "B07GBZ4Q68", "title": "Logitech G502 HERO...", "sellPrice": 42.99, "feeCategory": "Video Games", "estimatedNetProceeds": 31.59, "estimatedProfitPerUnit": 24.74, "feeEstimateBasis": "referral=breadcrumb; fulfilment=fba_rate_card; schedule=amazon-us-2026-07" },{ "asin": "B075CYMYK6", "title": "Anker PowerCore 10000...", "sellPrice": 25.99, "feeCategory": "Consumer Electronics", "estimatedNetProceeds": 18.71, "estimatedProfitPerUnit": null, "feeEstimateBasis": "referral=breadcrumb; fulfilment=fba_rate_card; schedule=amazon-us-2026-07" },{ "asin": "1250301696", "title": "A hardcover title...", "sellPrice": 18.00, "feeCategory": "Books", "estimatedNetProceeds": null, "estimatedProfitPerUnit": null, "feeEstimateBasis": "partial:referral_only — the page publishes no Item Weight, so the FBA size tier and fulfilment fee are null. Supply fulfilmentFeeOverride or set fulfilmentChannel=FBM." }]
A failed fetch or a parse exception pushes a two-field diagnostic row instead of a full record — {"asin": "B0XXXXXXXX", "error": "fetch_failed"} or {"asin": "B0XXXXXXXX", "error": "parse_error: <message>"}. These are pushed for visibility but are not charged: only rows pushed with the row_result event (a fully parsed ASIN, whether or not the fee side resolved) are billed. Filter diagnostic rows out of an export by keeping items where the error field is absent.
How can I use the data extracted with Amazon ASIN Scraper?
- 🧮 Private-label and wholesale sourcing teams: decide whether an ASIN is worth a purchase order before capital moves, reading
estimatedProfitPerUnit,estimatedRoiPercentandestimatedBreakEvenSellPricestraight off the row. - 🤖 AI engineers and LLM developers: an agent submits an ASIN list, receives JSON with the fee math already computed, and passes it straight into a sourcing-decision agent or a spreadsheet-generation tool without re-implementing Amazon's fee schedule.
- 📊 Market researchers: aggregate
feeCategoryandreferralFeePercentacross a catalogue to see where Amazon's cut is highest, or comparesalesVolumeBadgeTextandbestsellerRanksacross a category to size demand. - 🗂️ Catalogue and product-ops teams: bulk-audit an existing SKU list for listings whose
estimatedProfitPerUnithas drifted negative since prices moved, pairing the run withonlyProfitableAsinsto surface only the ones that still work.
How do you monitor fee and profit estimates over time?
Amazon changes buy-box prices and its own fee schedules independently of anything you control, so a single run is a snapshot, not a forecast. The monitoring discipline is: re-run the same asins list on a schedule and diff the money fields between runs, because the referral percentage and the FBA rate card underneath them can both move without warning.
Fields worth diffing run over run: sellPrice (buy-box drift), estimatedProfitPerUnit and estimatedRoiPercent (the numbers that actually decide restock), feeEstimateBasis (flags when a size tier or category resolution changed), and feeScheduleVersion — when this string changes (it is stamped amazon-us-2026-07 in the current build), every prior estimate in your history was computed under a schedule this build no longer uses, and the whole catalogue is worth re-checking rather than trusting the delta at face value.
A concrete loop: put the SKU list on a recurring Apify Schedule, keep each run's dataset, and compare estimatedProfitPerUnit against the previous run for every ASIN. Alert — via an Apify webhook into Slack, Make or Zapier on run completion — when a SKU crosses from positive to negative profit, or when feeScheduleVersion changes. Scheduling and webhook delivery are handled by the Apify platform, not by code inside this Actor; there is no built-in polling loop to configure here.
Integrate Amazon ASIN Scraper and automate your workflow
Amazon ASIN Scraper With Profit & Fee Estimates works with any language or tool that can send an HTTP request, through the Apify API.
REST API with Python
import requestsACTOR = "<YOUR_USERNAME>/amazon-asin-scraper-profit-fee-estimates"TOKEN = "<YOUR_APIFY_TOKEN>"resp = requests.post(f"https://api.apify.com/v2/acts/{ACTOR.replace('/', '~')}/run-sync-get-dataset-items",params={"token": TOKEN},json={"asins": ["B07GBZ4Q68", "B0CJ4V4TRP"], "unitCost": "6.50", "fulfilmentChannel": "FBA"},timeout=180,)resp.raise_for_status()for row in resp.json():print(row["asin"], row.get("estimatedProfitPerUnit"), row.get("feeEstimateBasis"))
MCP for query-grounded AI agents
Reachable through Apify's hosted MCP server: point an MCP-compatible client (Claude Desktop, Cursor, or any client that speaks the Model Context Protocol) at https://mcp.apify.com?tools=<YOUR_USERNAME>/amazon-asin-scraper-profit-fee-estimates. The agent discovers the input schema, calls the Actor with a user-supplied ASIN list, and gets the fee/profit-annotated JSON back as tool output — grounding a sourcing answer in a live-scraped number instead of a guess.
Scheduled monitoring and delivery
Configure a recurring run from the Actor's Schedule tab in the Apify Console (cron-style interval), and attach a webhook on run completion to push results into Slack, Make, Zapier, or any HTTP endpoint. There is no polling endpoint inside the Actor itself — scheduling and delivery are Apify platform features, not a feature this codebase implements.
Is it legal to scrape Amazon product and fee data?
Scraping publicly accessible Amazon product pages for information any visitor can see is generally lawful in the United States. In hiQ Labs v. LinkedIn Corp. (9th Cir. 2019, on remand 2022), the Ninth Circuit held that accessing data that is not behind a login wall does not violate the Computer Fraud and Abuse Act — the leading precedent for this general question, though it did not involve Amazon specifically. Amazon ASIN Scraper With Profit & Fee Estimates returns catalogue, pricing and fee data — not personal data about identifiable individuals — so GDPR/CCPA's personal-data rules do not attach to its output; the relevant framework instead is Amazon's own Conditions of Use, which restrict automated access as a matter of contract, and database-rights doctrine, which varies by jurisdiction. Scraping a handful of ASINs for a one-off sourcing decision carries a different risk profile than scraping at scale to build a resale or AI-training dataset. Consult your legal team for commercial use cases involving bulk data storage.
❓ Frequently asked questions
Which Amazon storefronts and languages does it support?
It scrapes any storefront domain you enter in marketplaceDomain (default amazon.com), in any of the 20 pageLanguage values — English, English (US/UK), German, French, Spanish, Italian, Dutch, Polish, Portuguese (and Brazil), Swedish, Turkish, Czech, Danish, Japanese, Chinese Simplified/Traditional, Hindi, or marketplace default. Product data returns on every storefront. The bundled fee schedule, however, only covers amazon.com in USD — on any other domain, every fee and profit field comes back null and feeEstimateBasis reads unsupported_marketplace:<domain>.
Can I change how much data comes back per ASIN?
Yes, without touching the numbers themselves. trimRichContent (default false) blanks A+ content, brand story, the comparison table and both image arrays to shrink heavy records. includeFeeBreakdown (default true) adds or removes the itemised feeBreakdown[] array.
How does Amazon ASIN Scraper handle Amazon's anti-bot measures?
It rotates across five desktop user-agent strings, routes through Apify residential proxy with a sticky session per ASIN on the first attempt and a fresh IP on retries, and detects CAPTCHA/robot-check block pages to trigger a retry with exponential backoff. When exitCountry targets US specifically, it also verifies the response is actually a US-localized page (checking delivery-country and currency markers) and retries on a fresh IP if not. It ships no inline CAPTCHA-solving service; the legacy useCaptchaSolver input is accepted for backward compatibility but has no effect beyond a log message.
Does Amazon ASIN Scraper extract profit and fee estimates?
Yes — every successful row carries feeBreakdown[], estimatedReferralFee, estimatedFulfilmentFee, estimatedNetProceeds, and, with a unit cost, estimatedProfitPerUnit, estimatedProfitMarginPercent, estimatedRoiPercent and estimatedBreakEvenSellPrice. These stay null when the marketplace or currency isn't supported, when no price is on the page (unqualified buy box or out of stock), or when the referral category can't be resolved — feeEstimateBasis always says which.
How many ASINs does Amazon ASIN Scraper return per run?
One row per valid, de-duplicated ASIN in asins — the schema sets no maximum list length. Fetches run at a fixed concurrency of 5 in-flight requests, a source-level constant rather than an input parameter, so larger lists take proportionally longer; no throughput figure is published because per-ASIN response time depends on Amazon's own behaviour on the request.
How do I monitor fee and profit changes for the same ASINs over time?
Put the same asins list on a recurring Apify Schedule, keep each run's dataset, and diff sellPrice, estimatedProfitPerUnit and feeScheduleVersion against the previous run. Alert through an Apify webhook when profit crosses zero or the fee schedule version changes.
Does Amazon ASIN Scraper work with Claude, ChatGPT, and AI agent frameworks?
Yes, two ways: through Apify's hosted MCP server at https://mcp.apify.com?tools=<YOUR_USERNAME>/amazon-asin-scraper-profit-fee-estimates for MCP-compatible clients, or as a plain HTTP endpoint callable from any agent framework via the Apify API — an agent can retrieve landed-cost math before answering a sourcing question either way.
How does Amazon ASIN Scraper compare to other Amazon scrapers?
| Axis | This Actor | junglee/amazon-asins-scraper | jaybird/amazon-product-data-scraper | harvestlab/amazon-scraper |
|---|---|---|---|---|
| Referral/FBA fee estimate | ✅ | ❌ (not in documented output) | ❌ (not in documented output) | ❌ (not in documented output) |
| Profit / ROI from unit cost | ✅ | ❌ | ❌ | ❌ |
| ASIN-list batch input | ✅ | ✅ | ✅ (product URLs) | ✅ |
| BSR time-series tracking across runs | Not offered | Not documented | Not documented | ✅ (its listing's own claim) |
Observed on each Actor's own Apify Store listing, 2026-07-25 — pricing, speed and success-rate claims from other listings are theirs, not independently measured here.
Can I use Amazon ASIN Scraper without managing proxies or Amazon credentials?
Yes. Apify Proxy is handled internally — proxyConfiguration comes prefilled with the residential group, and exitCountry is a simpler shortcut for the same thing. No Amazon Seller Central or Associates account is needed, since the Actor reads public product pages; you only need an Apify account, and an API token if you're calling it programmatically.
What happens if I paste a product URL instead of a bare ASIN?
It's dropped. Only exact 10-character alphanumeric tokens pass the input check; a full /dp/ URL, an ISBN-13, or a typo is logged as "Skipping non-ASIN input" and never fetched — so it never appears in the dataset and is never charged.
💬 Your feedback
Found a bug, or a field that isn't populating the way this document says it should? Let us know through Scrapier's issue tracker on the Actor's Apify Store page, or leave a note in the Actor's Console Issues tab. Reports against real ASINs — including which marketplace and fulfilment channel you ran — help us fix parsing gaps fastest.