AliExpress Deals & Flash Sales avatar

AliExpress Deals & Flash Sales

Pricing

$0.70 / 1,000 deal scrapeds

Go to Apify Store
AliExpress Deals & Flash Sales

AliExpress Deals & Flash Sales

Every live AliExpress deal in one table, with the clock attached: deal price, was-price, discount, stock, rating and the exact moment each offer expires, stamped beside the moment it was collected. Filter by discount, price or time left. Pick your country. No account, no login.

Pricing

$0.70 / 1,000 deal scrapeds

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

24 days ago

Last modified

Categories

Share

Every live AliExpress deal in one table — with the clock attached. For each offer you get the deal price, the price it was, the discount, the stock still showing, the star rating, how many people have bought it, and the exact moment the deal expires, stamped next to the exact moment it was collected. That last pair is the point: a discount row without its deadline is just a product row, and a countdown without a collection time is a number you cannot trust an hour later. Pick the country you shop from, press start, and the deals arrive ready to sort. No account and no login are needed.

What you can do with it

  • Run a deals feed or a deals newsletter. Schedule it hourly, keep only the offers ending in the next twelve hours, and publish a list that is genuinely live rather than a week-old screenshot.
  • Catch the biggest markdowns first. Order by discount, filter to 70 % and up, and see what the site is actually giving away today instead of scrolling five deal pages.
  • Watch a price war. Save the same run daily and track how the deal price, the crossed-out price and the remaining stock move on the same product.
  • Find dropshipping candidates with a local warehouse. Where the deal link states the dispatch country, the row carries it, so you can pick the ones that reach your buyers in days rather than weeks. It is stated on every deal-venue row and on roughly half of the front-page rows; the rest come back empty rather than guessed.
  • Build an expiry alert. Keep only offers with a published deadline, feed the end time into your own reminder, and never miss a bundle that closes at midnight.
  • See what shoppers are looking for. Each run also saves the search terms the site is promoting right now, as their own record next to the deals.
  • Feed a sheet, a store or a bot. Every field is a plain column — export to Excel, Google Sheets, CSV or JSON in one click.

What you get

One row per deal. A real, abridged example:

{
"source": "home_feed",
"dealType": "superdeals",
"dealSection": "SuperDeals",
"positionInSection": 1,
"productId": "3256806453629279",
"title": "KINGROON PETG 3D Printer Filament 1.75mm 5KG 10KG Mix Color 3D Printing Material 1kg/roll petg Plastic For FDM 3dprinter",
"url": "https://www.aliexpress.com/item/3256806453629279…",
"currency": "USD",
"price": 43.62,
"originalPrice": 150.55,
"savingPrice": 106.93,
"discountPercent": 71,
"endsAt": "2026-08-10T06:59:59.000Z",
"secondsRemaining": 68399,
"collectedAt": "2026-08-09T12:00:00.000Z",
"hasPublishedExpiry": true,
"hasEnded": false,
"countdownText": "Limited time 70% off",
"stock": 54,
"rating": 4.8,
"reviewCount": 572,
"soldInDeal": 285,
"soldLifetimeText": "4,000+",
"soldLifetime": 4780,
"cartAdds": 60,
"promotionTags": ["prePlatformItemSubsidy", "dashDeal", "platformItemSubsidy"],
"shipsFrom": "US"
}

Input reference

FieldTypeDefaultWhat it does
countryselectusWhich country's version of the site to read. This sets the currency and the catalogue — each country gets its own deals, prices and delivery options.
feedsmulti-selectbothWhich front-page deal strips to collect. These are the sections that publish a real expiry, so leave both on if you want countdowns.
channelsmulti-selectSuperDeals, Bundle DealsWhich dedicated deal venues to collect. They carry stock, purchase limits and saving amounts, but no expiry.
maxDealsnumber200How many deals to keep after ordering and filtering. Maximum 2,000.
sortByselectEnding soonestEnding soonest, biggest discount, lowest price, most sold, or the site's own order.
onlyWithExpirytrue/falseoffKeep only deals with a published end time.
expiringWithinHoursnumberKeep only deals ending within this many hours of collection. Maximum 8,760.
minDiscountPercentnumber0Keep only deals discounted at least this much. Maximum 99.
minPrice, maxPricenumberPrice band, in the currency of the country you selected.
minRatingnumberKeep only deals rated at or above this. Never-rated products are excluded when set.
onlyChoicetrue/falseoffKeep only deals the site marks as Choice.
excludeSoldOuttrue/falseoffDrop deals whose remaining stock is published as zero. Unknown stock is always kept.
includeTrendingKeywordstrue/falseonAlso save the trending search terms the site is promoting.
channelDelaySecondsnumber2Gap between deal venues. Raise it if you select several. Maximum 60.
channelRecoveryWaitSecondsnumber180If the deal venues stop serving mid-run, wait this long once and try again. Maximum 900.

Output fields

FieldTypeMeaning
sourcetexthome_feed for a front-page strip, deal_channel for a dedicated venue.
sourceHosttextWhich of the site's addresses served the row.
dealTypetextsuperdeals, bundle_deals, choice, local_shipping, curated, category_venue, or other for a section the site has newly introduced.
dealSectiontextThe section's own heading, exactly as the site titled it that day.
positionInSectionnumberWhere the deal sat inside its section, counted top to bottom in the order the site laid it out.
productIdtextThe product's own identifier.
titletextProduct title.
urltextDirect link to the product, with tracking stripped out.
imageUrltextDeal picture.
skuIdtextThe exact variant the deal price applies to, when published.
categoryIdstextThe site's own category identifiers for the product.
currencytextThe currency the row is priced in, read from the answer itself — never assumed.
price, priceTextnumber / textThe deal price as a number and as the shopper sees it.
originalPrice, originalPriceTextnumber / textThe crossed-out price.
savingPrice, savingPriceTextnumber / textHow much the deal takes off.
discountPercentnumberThe discount the site prints on the card.
endsAttextWhen the deal expires, as a full date and time. Empty when the section publishes no deadline.
endsAtEpochMsnumberThe same instant as a raw number, for arithmetic.
secondsRemainingnumberSeconds left at the moment of collection. Negative if the deal had already closed.
collectedAttextThe moment this row was collected. Read it together with secondsRemaining.
hasPublishedExpirytrue/falseWhether the site published a deadline for this deal at all.
hasEndedtrue/falseWhether the deadline had already passed at collection. Empty when there is no deadline.
countdownTexttextThe promotional line beside the timer, such as "Limited time 70% off".
stocknumberUnits still showing as available. Empty when the section publishes no real figure — never filled with a placeholder.
purchaseLimitPerBuyernumberCap per shopper. Empty when there is no real cap.
purchaseLimitPerBuyerPerDaynumberCap per shopper per day.
ratingnumberStar rating. Empty means never rated — never zero.
reviewCountnumberHow many reviews the product has, filled in only when the site published an exact figure rather than a rounded one.
soldInDeal, soldInDealTextnumber / textUnits sold during this promotion. The text is what the site displays; the number is filled in only when the site published an exact figure, never derived from a rounded one.
soldLifetime, soldLifetimeTextnumber / textUnits sold in total, exact and as displayed. The site rounds the displayed figure heavily, so the two can differ by a lot.
wishlists, cartAddsnumberHow many shoppers saved it or put it in a basket.
isChoicetrue/falseWhether the deal carries the site's Choice badge. Empty means the section does not publish badges at all.
hasFreeShippingBadgetrue/falseWhether a free-delivery badge is showing. Empty means the section does not publish delivery badges.
promotionTagslistWhich promotion the deal belongs to, in the site's own labels.
shipsFromtextThe country the item ships from, when the deal link states it. This is the warehouse, not you.
shoppingFromCountrytextThe country the prices were shown for.

Two extra records are saved beside the table: a run summary, and the trending search terms the site is promoting.

Pricing

You pay per deal returned — nothing else, and nothing for a section that comes back empty.

What you pay forPrice
Each deal row$0.70 per 1,000

Worked example. A daily run collecting 200 deals costs $0.14. A full 2,000-deal run costs $1.40. A month of hourly runs at 200 deals each is about $100 for roughly 144,000 rows.

Limits & what this actor cannot do

  • Only the front-page deal strips publish an expiry. The dedicated deal venues do not publish one at all, so their rows come back with an empty endsAt rather than a borrowed or estimated one. If countdowns are what you are here for, keep the front-page sections switched on.
  • Stock comes from the front-page strips and from Bundle Deals — not from every venue. The SuperDeals and Choice venues do not publish a real remaining-units figure, so their rows leave stock empty rather than showing a placeholder that would read as "one left" on a product with a hundred thousand sales. Purchase limits come from Bundle Deals only.
  • Only the dedicated deal venues publish the Choice and free-delivery badges. The front-page strips leave those empty. Selecting both source types gives you the widest coverage: the two are merged and de-duplicated for you, and where the same product appears on both, the gaps in one are filled from the other.
  • The countdown belongs to the deal section, not to the individual product. When a strip publishes an end time, every deal in that strip shares it — that is the moment the whole sale closes, which is exactly what an expiry alert needs, but it is not a per-product deadline.
  • Each deal section publishes a fixed snapshot of what is on it right now, so a run returns what the site is showing rather than an unlimited deal catalogue. Running on a schedule is how you build depth over time.
  • Prices, stock, ratings and countdowns are a snapshot at the moment of collection and keep changing afterwards. That is why every row carries the collection time next to the remaining seconds.
  • Prices and the deal selection differ by country. Two countries are never the same list translated — they are different catalogues with different products, so do not compare them row for row.
  • The country you choose is a preference, and the site can decline it. Every row states the currency it was actually priced in, and the run summary lists every currency that came back. If more than one appears, the minimum and maximum price filters — which are a single pair of numbers — were applied across all of them, so set a price band only when the summary shows one currency.
  • The displayed deal price can include a first-time-shopper allowance in some countries, which means a returning shopper may be quoted more. The price returned is the one the site displayed for the country you chose.
  • The site publishes several different "sold" figures for the same product and they disagree with each other. Each one is returned under its own name and nothing is converted between them.
  • Deals shown as sold out are returned and flagged rather than hidden, unless you ask for them to be dropped.
  • Seller and store details are not published on any deal surface, so no seller column is returned. Nothing is invented to fill the gap.
  • The deal venues are served slowly by the site and stop serving for a few minutes if they are asked for too quickly. A run reads them one at a time, and if they stop, the remaining ones are reported as not attempted rather than as empty.
  • Speed depends on the size of the job and on the source site's own response times; no fixed throughput is promised.
  • The source site's terms govern automated access. You are responsible for using the data lawfully and in line with those terms, and for handling any personal data in line with applicable privacy law.

FAQ

Do I need an account on AliExpress? No. Nothing is signed in to and nothing is bought.

Does it need my login or password? No. There is no place to enter one, and none is ever used.

Can I schedule it? Yes — and this one is built for it. Save your country and filters as a task and run it hourly or daily. Because every row carries both its deadline and its collection time, a series of runs lines up into a real history of how each deal moved.

Is the data complete? It is every deal the site is publishing on the sections you selected, at the moment you ran it. It is not the whole of AliExpress: the site only puts a limited set of offers on its deal sections at any one time. Select more sections and run more often to see more.

Why do some rows have no end time? Because the section they came from does not publish one. Those rows say so plainly with hasPublishedExpiry: false instead of guessing a deadline. Switch on "only deals with a countdown" if a deal without one is no use to you.

Why is rating empty on some deals? Because the product has never been rated. An empty rating and a rating of zero are different things, so the field is left empty rather than filled with a zero that would drag your averages down.

Why did I get different products when I changed country? Because the site runs a different deal catalogue for each country, with different products, prices and delivery options. Changing country is not a currency switch — it is a different shop.

What is the difference between soldInDeal and soldLifetime? soldInDeal is units moved during the current promotion; soldLifetime is the product's total. The site displays a heavily rounded version of the second one next to the exact version of the first, which is easy to misread, so each is returned under its own clear name.