search_items
Search Amazon's catalog by keyword or filters (title, actor, author, brand, browse node), with pagination and prices in local currency, and create embeddable HTML for blog posts.
Instructions
Search Amazon's catalog by keywords (plus optional title/actor/author/brand/browse-node filters). Returns up to 10 items per page; paginate via itemPage: 2..10 (100 items max). totalResultCount = results that exist, not results accessible. Prices are in the marketplace's currency.
PRESENTATION GUIDANCE (important): default to format: 'markdown' or format: 'json'. After the tool returns, DO NOT paste the raw output into the chat. Instead, summarise the results conversationally — e.g. "I found 5 coffee grinders. The standouts are: • Baratza Encore ($179, highly rated burr grinder) • OXO Brew ($99, solid budget pick) …" — then END your reply by asking the user whether they'd like an embeddable HTML card/grid for their blog. Only call the tool with format: 'html-card' or format: 'html-grid' when the user has explicitly asked for a preview, card, widget, embed, or paste-ready HTML. Never default to HTML output.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actor | No | ||
| brand | No | ||
| title | No | Search within product titles. | |
| artist | No | ||
| author | No | ||
| format | No | Output format. DEFAULT TO 'markdown' OR 'json' when you plan to summarise the results in chat. Use 'html-card' / 'html-grid' ONLY when the user has explicitly asked for an embed, preview, card, widget, grid, or paste-ready HTML — these formats return a full HTML document the user pastes into their blog and are not for in-chat reading. 'markdown' = friendly summary source; 'json' = raw API data for programmatic use; 'html-card' = single product card; 'html-grid' = responsive grid of all items. | markdown |
| sortBy | No | ||
| itemPage | No | Page number (1-10). | |
| keywords | No | Search keywords. Required unless a different scoping field (title/actor/author/brand/browseNodeId) is provided. | |
| maxPrice | No | Max price in smallest currency unit (cents/pence). | |
| merchant | No | ||
| minPrice | No | Min price in smallest currency unit (cents/pence). | |
| condition | No | ||
| itemCount | No | Items per page (max 10). | |
| resources | No | Which fields Amazon should return. Names are camelCase (e.g. "itemInfo.title"). Omit to use a sensible default set. | |
| searchIndex | No | Product category, e.g. "Electronics", "Books", "All". | |
| availability | No | ||
| browseNodeId | No | Restrict results to a browse node (category). | |
| customStyles | No | Extra CSS appended to the default stylesheet when format is 'html-card' or 'html-grid'. Target stable class-name anchors: .amzn-card, .amzn-card__image, .amzn-card__title, .amzn-card__meta, .amzn-card__brand, .amzn-card__rating, .amzn-card__price, .amzn-card__price--unavailable, .amzn-card__savings, .amzn-card__cta, .amzn-card__disclosure, .amzn-grid. Ignored for 'markdown' and 'json'. | |
| deliveryFlags | No | ||
| titleMaxChars | No | Maximum rendered title length for HTML card/grid output. Amazon titles are often 150+ chars of keyword stuffing; clamping to ~80 keeps cards one-line on typical widths. Defaults to 80. Set to 0 to disable. Ignored by 'markdown' and 'json' — those formats get the full untruncated title. | |
| minReviewsRating | No | Minimum star rating (1-5). | |
| minSavingPercent | No | ||
| hideItemsWithoutPrice | No | When format is 'html-grid', drop items that have no price. Defaults to true — cards without a price are weak embeds (no deal hook, reader must click through to learn anything). Set false for comparison tables where availability can lapse but you still want the product visible. Ignored for 'html-card', 'markdown', and 'json'. | |
| languagesOfPreference | No |