Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Scrape Amazon UK (amazon.co.uk) product pages to check availability, Prime eligibility, delivery estimates (UK), GBP price, and full technical specifications. Use this skill whenever an agent needs to: look up Amazon UK product listings, check if a computer part or product is in stock on Amazon UK, compare product specs across multiple ASINs, find product model numbers to look up on other sites, research GPU/CPU/RAM/SSD or any hardware for compatibility, verify Prime delivery eligibility, or sea
.claude/skills/valtterimelkko-amazon-uk-scraper/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 184% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -6% | 0% |
Everything is handled by one Python script — no separate skill invocations needed. Bot bypass, cookie consent, proxy routing, and data extraction are all built in.
Script path:
./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.pybash# ── RECOMMENDED: UK proxy mode — GBP prices + real UK delivery dates ───── python3 ./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.py \ --asins B0972BP9YR B09NYMR2KJ --uk-proxy # Search by keyword, then scrape the top N results: python3 ./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.py \ --search "rtx 4060 graphics card" --max-results 3 --uk-proxy # Save JSON to a file: python3 ./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.py \ --asins B0972BP9YR --uk-proxy --out /tmp/parts.json # ── Free mode: camofox browser (no proxy cost, prices in EUR) ──────────── python3 ./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.py \ --asins B0972BP9YR
| Mode | Flag | Price currency | Delivery dates | Cost | |---|---|---|---|---| | UK proxy | --uk-proxy | GBP ✓ | UK ✓ | Paid (residential proxy) | | Camofox | (default, no flag) | EUR (server is in Finland) | Finland | Free |
Use --uk-proxy whenever GBP pricing or UK delivery accuracy matters. Use camofox-only when only checking specs/availability and price currency is irrelevant.
To use --uk-proxy, configure your own UK residential proxy or adapt the script to your own proxy setup. Do not rely on any embedded credentials.
| Field | Description | |---|---| | title | Full product name | | asin | Amazon UK ASIN | | price | GBP price (with --uk-proxy) or EUR (camofox) | | availability | "In stock" / "Currently unavailable" / "Only N left in stock" | | prime_eligible | true when FREE delivery is shown (proxy for Prime — anonymous session) | | delivery_estimate | UK delivery text, e.g. "FREE delivery Wednesday, 10 June" | | specs | Dict of key/value tech specs (25–30 fields in proxy mode, ~10 in camofox mode) | | specs_raw | Same specs as a flat list of "Key Value" strings |
--uk-proxy flag, which routes HTTP requests through a UK residential proxy you configure (Proxy-Cheap, IP Royal, or any provider). No need to invoke a separate residential-proxy skill if you already configured the script for your own proxy setup.--search uses camofox to load the Amazon UK search results page and extract ASINs. No manual browsing needed.Do not invoke the camofox skill, residential-proxy skill, or agent-browser skill separately — the script already does all of this.
Before running in camofox mode (without --uk-proxy), verify the browser is up:
bashcamofox camofox-browser-health --agent # Should show: "ok": true, "browserRunning": true
If it's down:
bashdocker start camofox-browser
In --uk-proxy mode there's no preflight needed — it uses plain HTTP via the proxy.
If you only have product names, use --search:
bashpython3 ./skills/amazon-uk-scraper/scripts/scrape_amazon_uk.py \ --search "AMD Ryzen 7 7800X3D" --max-results 3 --uk-proxy
The script searches Amazon UK, pulls ASINs from the results page, then scrapes each product.
The script prints three things:
Always parse the JSON block for downstream tasks. The table is for human display.
For checking compatible parts for a specific PC build:
specs["Graphics Card Interface"] or specs["Graphics card interface"] → PCI Express slot typespecs["Form Factor"] → M.2 2280, ATX, etc.specs["Hard Disk Interface"] → NVMe, SATAspecs["Socket type"] → CPU socketspecs["Compatible Devices"] → Desktop, Laptopspecs["Model Number"] / specs["Manufacturer Part Number"] → use these to search manufacturer or review sites for the full datasheetThe model name from title can also be passed directly to web-search or camofox to find spec sheets, benchmarks, or compatibility guides on other sites.
The script's markdown table already includes a clickable buy link in the header (product title links to the Amazon UK product page) and a Buy link row with [amazon.co.uk](url). Present this table directly to the user so they can click through to purchase.
When summarising results for the user, always include the direct Amazon UK URL for each recommended product:
## Amazon UK Product Research
| Product | ASIN | Buy link | Price | In Stock | Prime | Delivery | Key Specs |
|---------|------|----------|-------|----------|-------|----------|-----------|
| [Title](https://www.amazon.co.uk/dp/ASIN) | ASIN | [amazon.co.uk](https://...) | £X | Yes | Yes | FREE | ... |Note in the summary whether prices are GBP (proxy mode) or EUR (camofox mode).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 11,482 | 4,371 | -62% | 1 | 1 | 0% | 2,461 | 1,811 | -26% | 0 | 0 | — |
case-02 | fail→fail | 14,592 | 18,925 | +30% | 1 | 1 | 0% | 3,057 | 1,885 | -38% | 0 | 0 | — |
case-03 | fail→fail | 13,030 | 7,958 | -39% | 1 | 1 | 0% | 632 | 1,940 | +207% | 0 | 0 | — |
case-04 | fail→pass | 11,497 | 2,377 | -79% | 1 | 1 | 0% | 1,834 | 1,937 | +6% | 0 | 0 | — |
case-05 | fail→pass | 4,560 | 3,916 | -14% | 1 | 1 | 0% | 737 | 2,095 | +184% | 0 | 0 | — |
case-06 | fail→pass | 28,036 | 2,485 | -91% | 1 | 1 | 0% | 2,441 | 1,923 | -21% | 0 | 0 | — |
case-21 | fail→fail | 8,269 | 11,186 | +35% | 1 | 1 | 0% | 1,361 | 3,433 | +152% | 0 | 0 | — |
case-07 | fail→pass | 13,437 | 3,834 | -71% | 1 | 1 | 0% | 2,720 | 2,043 | -25% | 0 | 0 | — |
case-08 | fail→pass | 16,663 | 4,834 | -71% | 1 | 1 | 0% | 2,483 | 2,328 | -6% | 0 | 0 | — |
case-09 | fail→pass | 16,664 | 2,366 | -86% | 1 | 1 | 0% | 3,361 | 2,031 | -40% | 0 | 0 | — |
case-10 | fail→pass | 5,268 | 2,225 | -58% | 1 | 1 | 0% | 808 | 1,816 | +125% | 0 | 0 | — |
case-11 | fail→fail | 2,733 | 2,101 | -23% | 1 | 1 | 0% | 377 | 1,890 | +401% | 0 | 0 | — |
case-12 | fail→pass | 8,491 | 1,906 | -78% | 1 | 1 | 0% | 1,352 | 1,852 | +37% | 0 | 0 | — |
case-13 | pass→pass | 5,519 | 1,966 | -64% | 1 | 1 | 0% | 883 | 1,862 | +111% | 0 | 0 | — |
case-14 | pass→pass | 8,813 | 5,626 | -36% | 1 | 1 | 0% | 1,629 | 1,913 | +17% | 0 | 0 | — |
case-15 | fail→pass | 9,650 | 5,961 | -38% | 1 | 1 | 0% | 1,787 | 2,224 | +24% | 0 | 0 | — |
case-22 | fail→pass | 14,569 | 14,497 | -0% | 1 | 1 | 0% | 3,016 | 3,449 | +14% | 0 | 0 | — |
case-16 | fail→pass | 5,837 | 2,107 | -64% | 1 | 1 | 0% | 944 | 1,796 | +90% | 0 | 0 | — |
case-17 | pass→pass | 9,945 | 2,374 | -76% | 1 | 1 | 0% | 982 | 1,962 | +100% | 0 | 0 | — |
case-18 | fail→pass | 6,807 | 1,767 | -74% | 1 | 1 | 0% | 1,170 | 1,766 | +51% | 0 | 0 | — |
case-19 | pass→pass | 11,851 | 2,550 | -78% | 1 | 1 | 0% | 2,107 | 1,923 | -9% | 0 | 0 | — |
case-20 | pass→pass | 11,453 | 7,332 | -36% | 1 | 1 | 0% | 2,204 | 2,790 | +27% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.