# Read a public Amazon product page from your agent, with no scraper to maintain

Pass an Amazon product URL (the /dp/ link) to web.scrape and get the public page as markdown: the product title, the listed price, the star rating, the rating count and the star split as a shopper sees them. RouterGrowth is independent and is not Amazon's API. It reads the public page, so the fields sit in the text, not in typed JSON.

HTML page: https://www.routergrowth.com/tools/web-scraping/amazon
Part of: [Web search and scraping tools](https://www.routergrowth.com/tools/web-scraping.md)

## The call

[`web.scrape`](https://www.routergrowth.com/catalog/web.scrape): Clean markdown of a page or site for agent context.

Price on this network: $0.0056 per page. The exact quote is shown before every run.

## What a real run returned

Run on 2026-10-26: 1 records in 1.5 s for $0.0064. Personal fields are masked. One scrape of the Echo Dot product page: status 200 and 145,502 characters of markdown; the rows were read from that text, where price and rating sit just under the title.

| field | value |
|---|---|
| title | Amazon Echo Dot (newest model) - Vibrant sounding speaker, Designed for Alexa+, Great for bedrooms, dining rooms and offices, Charcoal |
| price | $79.99 |
| rating | 4.7 out of 5 stars, 201,399 global ratings |

## How to do it

1. **Use the product URL.** The short form amazon.com/dp/ followed by the ASIN is enough.
2. **Call web.scrape.** Send the url. The page comes back as markdown with its title and status code.
3. **Pull the fields.** Find the # title line, the first price after it and the out of 5 stars line, in code or with a model.
4. **Repeat per product.** One call per product page; store the run date with each price.

## Ask it like this

- Scrape these 12 Amazon product pages and give me a table of title, price, star rating and rating count. (`web.scrape`)
- Find the Amazon listings that rank in Google for best smart speaker, then scrape each one for price and rating. (`seo.serp`, `web.scrape`)

## Connect

MCP server: `https://api.routergrowth.com/mcp`

```bash
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
```

```bash
npm install -g routergrowth && routergrowth setup
routergrowth run -c web.scrape -i '{"url": "https://www.amazon.com/dp/B09B8V1LZ3"}'
```

```bash
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "web.scrape", "input": {"url": "https://www.amazon.com/dp/B09B8V1LZ3"}}'
```

## Worth knowing

- **Not the Amazon API.** RouterGrowth is independent of Amazon and does not use its Product Advertising or seller APIs. It reads the public page.
- **Long pages.** A product page runs past 100,000 characters with ads, add ons and related items. Cut to the block after the title before you send it to a model.
- **Prices move.** The page shows the price at the moment of the call. Keep the date with every price you store.

## Questions

### Is this the official Amazon API?

No. RouterGrowth is independent and is not Amazon's API; the call reads the public product page.

### Is the price a separate field?

No. The price is in the markdown, as printed on the page. Parse it in code or with a model.

### Can it read reviews?

The rating, rating count and star split shown on the product page come through. It does not page through the full review list.

### What if the page is blocked?

The call moves to the next provider. If none returns the page, the run fails and says why.

## Related

- [Convert a web page into clean markdown your model can read](https://www.routergrowth.com/tools/web-scraping/website-to-markdown.md)
- [Search the web from code and get citable sources back as JSON](https://www.routergrowth.com/tools/web-scraping/web-search-api.md)
- [Ground an agent in sources from the domains you trust](https://www.routergrowth.com/tools/web-scraping/web-search-api-for-llm.md)
- [Turn a public page into agent ready text with a single request](https://www.routergrowth.com/tools/web-scraping/api.md)
- [Scrape public pages from a Python script with one POST request](https://www.routergrowth.com/tools/web-scraping/api-python.md)
- [Get the latest headlines on a listed company from its name and ticker](https://www.routergrowth.com/tools/web-scraping/stock-news-api.md)
- [Pull news articles on any topic into your code as JSON](https://www.routergrowth.com/tools/web-scraping/news-api.md)
- [Fetch news articles into a Python script with one POST](https://www.routergrowth.com/tools/web-scraping/news-api-python.md)
- [Get the articles Google News lists for a query, in one API call](https://www.routergrowth.com/tools/web-scraping/google-news-api.md)
