AliExpress does not localise the page for your exit; it changes the domain. On 28 September 2026 we sent the same aliexpress.com URL through residential proxies in two countries. A US exit was redirected to aliexpress.us and received 519 words over plain HTTP, 2,502 rendered. A German exit was redirected to de.aliexpress.com and received 427 words in German, 2,085 rendered. AliExpress proxies are therefore a country-per-job decision before they are anything else, and for listings the collector returned 20 items with price, original price and discount in 4.47 seconds.
The keyword belongs to playing cards, and the data question is one word away
Google's AI Overview for "aliexpress proxies" opens by explaining that the term usually means either proxy network configurations or unofficial replica game cards sold on the marketplace, and the ten organic results are all the second thing: an r/magicproxies thread, four AliExpress wholesale pages for MTG proxy cards, a Facebook group, MTG Salvation and three YouTube hauls. Autocomplete agrees: mtg, pokemon, riftbound, yugioh. Nobody typing that phrase wants an IP.
The people who do type "aliexpress scraper api", "aliexpress scraper python", "aliexpress product scraper" and "scrape aliexpress products", and that SERP is vendor scraper pages, a GitHub topic and one technical guide. We read the guide. It says, correctly, that AliExpress relies on JavaScript rendering and dynamic class names and that the useful data sits in an embedded JSON payload. It does not fetch the page from two countries, and that is the measurement that decides how you build.
The exit rewrites the domain, the currency and the language
We audited https://www.aliexpress.com/ from a US residential exit and from a German one, each in a single call that fetches twice, without JavaScript and in a headless browser.
| Exit | Final URL | Canonical | Plain words | Rendered words | Title language |
|---|---|---|---|---|---|
| United States | aliexpress.us/?gatewayAdapt=glo2usa&_randl_shipto=US | https://www.aliexpress.us/ | 519 | 2,502 | English |
| Germany | de.aliexpress.com/?gatewayAdapt=glo2deu | https://de.aliexpress.com/ | 427 | 2,085 | German |
The redirect is the whole story. The query string names it: gatewayAdapt=glo2usa from the United States, glo2deu from Germany, the global gateway adapting the request to a country site. Everything downstream follows the domain: the canonical, the title ("AliExpress - Affordable Chinese Stores & Free Shipping" against "AliExpress German - Kaufen Sie günstig qualitativ hochwertige Produkte"), the meta description, the language, and from the United States a ship-to default written into the URL. Only the Open Graph URL still says //www.aliexpress.com on both, which is a leftover, not a fact.
For a job this means one thing: a mixed pool produces a mixed dataset. Rotate through US and German exits and you will be writing dollar prices from one catalogue and euro prices from another into the same table under the same product ids, and nothing in the response status will tell you. Pin one country per job, and record finalUrl and the canonical on every row so the domain is in the data. We saw the same shape on bet365, where the exit picks the licence, and the opposite on Lazada, where the domain is fixed and the exit changes nothing.
Plain HTTP is a fifth of the page, and it carries a trap
The plain fetch of the US home is 405,156 bytes and 519 words, and the first thing in its body is a banner: "Your browser does not support JavaScript!". The document is still useful. It has the h1, the canonical, a WebSite JSON-LD block, a description claiming over 111 million products, and a server-rendered deals module with titles and prices. The rendered page is 1,171,957 bytes, 2,502 words and arrives in 16.8 seconds; the extra 1,983 words are the product feed, the category grid and the promotional modules that hydrate from JSON.
The trap is in the prices the plain view does show. They arrive doubled with no separator, $1.33$11.05, $0.33$4.04, current price followed by struck-through original, and each is labelled "New shoppers only". A regex that takes the first currency match is right; one that takes the text node is off by an order of magnitude; and either way what you have captured is the new-shopper price, which a fresh residential exit with no cookies always qualifies for. A price monitor that wants the standing price must read the original alongside it. The same doubled-price pattern is on Facebook Marketplace, and our Facebook measurement shows the parser that survives it.
What the render costs, and where the collector is cheaper than both
Every fetch went through residential proxies on the Basic line at $0.80/GB. Counting a gigabyte as 10^9 bytes:
| Fetch | Bytes | Fetches per GB | Cost per fetch | Words |
|---|---|---|---|---|
| Home, US exit, plain HTTP | 405,156 | 2,468 | $0.00032 | 519 |
| Home, US exit, rendered | 1,171,957 | 853 | $0.00094 | 2,502 |
| Collector aliexpress_search, 20 items | n/a | n/a | $0.02 per run ($0.001 per item) | 20 rows |
Unlike Shopee, where the render returns the same words, on AliExpress it returns 4.8 times the words for 2.9 times the bytes: the render pays on category and home pages, where the feed is what you came for. On mobile proxies at $2.30/GB the same render is $0.0027, and nothing in four audits and three fetches scored the network, so the Basic line is the right one.
For search listings neither fetch is the cheapest route. We ran the AliExpress search collector with the query "usb c cable", country us, currency USD and a cap of 20. It started at 17:02:50 UTC and finished at 17:02:54, 4.47 seconds for 20 rows, each with product id, title, price, original price, discount percent, orders sold, rating, delivery window, selling points and item URL, parsed from the page's own hydration payload with no browser. Eighteen of the twenty rows carried a price; eight of them were US $0.33 with discounts of 86 to 95 percent, which is the new-shopper price the plain fetch also shows, and the collector returns the original price beside it so you can keep both. Two rows had no price and the store field was empty on all twenty, because the search grid does not expose it; the item page does.
At $0.001 per delivered item, twenty priced rows cost two cents and 4.47 seconds. The rendered home costs $0.00094 and 16.8 seconds and returns a feed you still have to parse. For listings the collector wins on both columns, and how to price monitor covers turning those rows into a history.
What robots.txt closes, what it opens, and the eight sitemaps
aliexpress.com/robots.txt is 2,731 bytes. Googlebot gets one line. The wildcard block is long and specific:
User-agent: *
Disallow: /items/*
Disallow: /search/*
Allow: /wholesale.html$
Allow: /wholesale-page-*.html
Disallow: /productdetail/*
Allow: /api/data_homepage.do
Disallow: /api/*
Disallow: /wishlist/*
Disallow: /shopcart/*
Disallow: /brands/*
Disallow: /product/*
Allow: /i/api/reviews
Disallow: /i/api/*
Search, item, product-detail, brand, wishlist and cart paths are disallowed for an unnamed client; the wholesale listing pages, one homepage data endpoint and the reviews API path are allowed by name. Then eight Sitemap: lines point at item sitemaps for 2026, wholesale sitemaps split into commercial, informational, brand and transactional, and two more. We fetched the first item sitemap index: 54,161 bytes of gzipped sitemap references, with a lastmod of 15 September 2026 on the entries. AliExpress publishes a map of its items while telling a generic client to stay off the item paths, which is the same posture we found on Facebook and on Taobao.
The official routes are narrow and clear. The AliExpress Open Platform at open.aliexpress.com serves developers behind credentials, and it is a JavaScript application end to end: without a browser its API reference renders as the single word "loading". The Alibaba Group introduction page describes the parent company. Accounts, buyer or seller, are governed by the AliExpress terms, and running several through proxies is not something we help with. Everything measured here was logged out and public.
The setting that works on AliExpress
- Network: residential, Basic line at $0.80/GB through residential proxies. Nothing in seven requests from two countries scored the IP; the cost is bytes, and for listings it is rows.
- Fetch mode: rendered for home and category pages, 2,502 words against 519 for 1,171,957 bytes;
engine: tlsonly when the h1, canonical and JSON-LD are all you need. Read prices as current plus original, never as one number. - Country: pin one per job. A US exit lands on aliexpress.us, a German exit on de.aliexpress.com, with different words, titles and currencies from the same starting URL. Record
finalUrlon every row. - When the proxy is not enough: run aliexpress_search: 20 items in 4.47 seconds on 28 September 2026 with price, original price, discount, orders and rating, at $0.001 per delivered item, no browser. For item detail beyond the grid, the web scraping API with rendering on the item URL.
- Failed requests are never billed, and every account gets $2 of free API usage per month, which is 2,000 collector rows or about 2,100 rendered pages.