Otto.de MCP Server
Pricing
from $20.00 / 1,000 mcp tool calls
Otto.de MCP Server
Otto.de MCP server for AI agents. Claude, Cursor or your own agent can search otto.de products, browse categories, read customer reviews and get search suggestions live over MCP. Also runs as a one-shot keyword search that writes a dataset.
Pricing
from $20.00 / 1,000 mcp tool calls
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Query otto.de products, prices and customer reviews live from Claude, Cursor, n8n or any other MCP-compatible AI agent. This Actor runs as a Model Context Protocol (MCP) server; your agent calls its tools and gets structured JSON back. It can also run once as a classic keyword scraper that writes product rows to a dataset.
No otto.de account and no API key are needed.
What it does
- Searches otto.de by keyword (up to 200 products per call, in otto.de's default top-seller order).
- Reads the first page (up to 18 products) of an otto.de product category by its URL path.
- Returns customer reviews for a product.
- Returns search autocomplete suggestions (what German shoppers type).
- Looks up a single product from its URL (listing-level fields, see the note below).
Who it is for
- AI and agent developers adding live otto.de lookups to shopping assistants, RAG pipelines and price-monitoring agents.
- Claude and Cursor users who want to ask about otto.de products directly in chat.
- Automation builders using n8n or Make with agent nodes.
MCP tools
| Tool | What it does |
|---|---|
search_otto_products | Keyword search in otto.de's default order. Returns name, brand, price (EUR), availability, rating, review count, URL, image. Up to 200 per call. |
browse_otto_category | Same fields for the first page of a product category such as /moebel/sofas/, /moebel/betten/ or /technik/fernseher/. Up to 18 per call: otto.de serves category pages without pagination. |
get_otto_product | One product from its URL. Listing-level fields only today (see below). |
get_otto_reviews | Reviews for a product id: rating, verified-purchase flag, age in days, title, text. Mostly German. Up to 200. |
get_otto_suggestions | Search autocomplete terms for a partial query. Up to 20. |
About get_otto_product
otto.de currently serves its product detail pages only behind a bot challenge. Because of that, get_otto_product returns listing-level fields (name, brand, price, currency, availability, rating, review count, image), found through otto.de search from the words in the product URL. The result has "source": "search_listing" and a note saying so. SKU, GTIN/EAN, full description and return policy are not returned unless otto.de serves the page (then "source": "product_page"). If a product cannot be matched, the tool returns an error and is not billed as a tool call.
Other things to know:
- Prices are in EUR as shown on otto.de. Rating and review count are empty for products without reviews.
- Results come in otto.de's default (top-seller) order. otto.de ignores sort parameters on its server-rendered pages, so sort the returned list (for example by price) in your agent; ask for up to 200 products per search call.
- Category paths must be product-listing categories (copy them from an otto.de category URL); top-level hubs such as
/damen/list no products. - Calls that fail or return nothing are returned as an
erroror an empty list and are not billed as a tool call.
Connect it
- Open the Actor and enable Standby mode (it then exposes an HTTPS endpoint).
- Point your MCP client at
https://<your-username>--otto-mcp.apify.actor/mcp(Streamable HTTP) and send your Apify API token as a Bearer token. - Ask: "Search otto.de for a grey corner sofa and show the five cheapest".
{"mcpServers": {"otto-de": {"url": "https://<your-username>--otto-mcp.apify.actor/mcp","headers": { "Authorization": "Bearer <APIFY_TOKEN>" }}}}
Example tool call (trimmed)
search_otto_products with {"keywords": "laptop", "limit": 2}:
{"query": "laptop","count": 2,"results": [{"name": "HP 14a-nm0215ngx Chromebook (35,6 cm/14 Zoll, MediaTek Kompanio 540, 4 GB, 64 GB SSD)","url": "https://www.otto.de/p/hp-14a-nm0215ngx-chromebook-...-2095859678/?variationId=2095859679","product_id": "2095859678","brand": "HP","price": "259.00","currency": "EUR","availability": "InStock","rating": 5,"review_count": 10}]}
One-shot (dataset) mode
Start the Actor normally (not Standby) with keywords to run a single search and write one row per product to the dataset, ready for CSV, JSON or Excel export. It can be scheduled like any Actor.
{"keywords": "ecksofa","limit": 10}
Output fields
| Field | Description |
|---|---|
name, brand | Product name and brand |
url, product_id, variation_id | Product page URL and otto.de ids |
price, currency | Price as a string, and EUR |
availability | For example InStock |
rating, review_count | Average rating and number of reviews |
image_url | Main product image |
FAQ
Which MCP clients work? Any client that speaks Streamable HTTP MCP: Claude Desktop, Cursor, n8n and custom agents.
Is the data live? Yes, every tool call requests fresh data from otto.de.
Why no GTIN or description? otto.de protects product detail pages with a bot challenge. See "About get_otto_product" above.
What if otto.de changes something? otto.de has no public API for this data, so the Actor depends on the website. If a tool starts returning errors, open an issue on the Actor page.