Search Amica Farmacia pharmacy products.
Searches the Amica Farmacia online pharmacy like its search page: product name, vendor (brand), price in euros, whether it is on sale, and link. First page of results (about 16 products), read from the product list only, not the recommendations. Returns an empty list when nothing matches.
- Site
- Amica Farmacia, Italy
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- 13525829d1f1…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Search Amica Farmacia pharmacy products.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "amicafarmacia.com/search-products", "params": { "query": "integratore magnesio" } } }
Requests
sent from your browser, in order- 1GET/search?qServer-rendered Shopify search page /search?q=… (read-only GET). Product cards are div.product-card.
Parameters
from your agentReturns
to your agentWhere it can send
- www.amicafarmacia.com
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- length(output.products) > `0`
- length(output.products[?starts_with(url, 'https://www.amicafarmacia.com/products/')]) == length(output.products)
- length(output.products[?name != `null`]) == length(output.products)
Raw recipe
Served as canonical JSON from /api/v1/recipes/amicafarmacia.com/search-products, so its sha256 matches the ETag and the index.
curl -s https://wield.run/api/v1/recipes/amicafarmacia.com/search-products | shasum -a 256 # 13525829d1f1e7ea80d84fa6333a941551da47c44db5dae21414e563aea73f77
{ "description": "Searches the Amica Farmacia online pharmacy like its search page: product name, vendor (brand), price in euros, whether it is on sale, and link. First page of results (about 16 products), read from the product list only, not the recommendations. Returns an empty list when nothing matches.", "effect": "read", "id": "amicafarmacia.com/search-products", "keywords": [ "amica farmacia", "amicafarmacia", "farmacia", "parafarmacia", "integratori", "cosmesi", "farmaci", "magnesio", "crema solare", "shampoo", "pharmacy", "supplements", "cosmetics", "italia" ], "output": { "schema": { "properties": { "products": { "items": { "properties": { "name": { "type": "string" }, "on_sale": { "type": "boolean" }, "price_eur": { "description": "Current price in euros (the sale price when on sale)", "type": [ "number", "null" ] }, "regular_price_eur": { "description": "Regular price in euros when the product is on sale, else null", "type": [ "number", "null" ] }, "url": { "type": "string" }, "vendor": { "type": [ "string", "null" ] } }, "required": [ "name", "url" ], "type": "object" }, "type": "array" }, "query": { "type": "string" } }, "required": [ "query", "products" ], "type": "object" }, "value": "{query: params.query, products: steps.search.products[?name != `null` && href != `null`].{name: name, vendor: vendor, price_eur: (price_sale && to_number(replace(replace(trim(price_sale), '€', ''), ',', '.'))) || `null`, regular_price_eur: (contains(price_block || '', 'f-price--on-sale') && struck && to_number(replace(replace(trim(struck), '€', ''), ',', '.'))) || `null`, on_sale: contains(price_block || '', 'f-price--on-sale'), url: join('', ['https://www.amicafarmacia.com', split(href, '?')[0]])}}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Product, brand or ingredient term, e.g. 'integratore magnesio', 'crema solare', 'shampoo'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "har", "notes": "GET /search?q=…: the HTML already contains the first page of product cards (div.product-card, Shopify theme). Name from the product title heading, vendor from the vendor line, price from the f-price item (sale price when on sale, regular price struck through), URL from the title link with the tracking query removed. Selectors use semantic theme classes only. Results are read from the products list (#ProductsList) only, not the recommendation block.", "recorded_at": "2026-11-08T15:26:07.000Z", "recorded_by": "wield-forge (claude-haiku agent)" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "IT", "id": "amicafarmacia.com", "language": "it", "name": "Amica Farmacia", "origin": "https://www.amicafarmacia.com", "origins": [ "https://www.amicafarmacia.com" ] }, "steps": [ { "description": "Server-rendered Shopify search page /search?q=… (read-only GET). Product cards are div.product-card.", "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "html_items": { "products": { "fields": { "href": { "attr": "href", "selector": "h3.product-card__title a" }, "name": { "selector": "h3.product-card__title" }, "price_block": { "attr": "class", "selector": ".f-price" }, "price_sale": { "selector": ".f-price-item--sale" }, "struck": { "selector": ".f-price s" }, "vendor": { "selector": ".product-card__vendor" } }, "max": 60, "selector": "#ProductsList div.product-card" } } }, "id": "search", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "q": "{{params.query}}" }, "url": "/search" } } ], "task": "Search Amica Farmacia pharmacy products", "tos": { "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.", "reviewed": false }, "verify": { "checks": [ "length(output.products) > `0`", "length(output.products[?starts_with(url, 'https://www.amicafarmacia.com/products/')]) == length(output.products)", "length(output.products[?name != `null`]) == length(output.products)" ], "example_params": { "query": "integratore magnesio" }, "max_ms": 8000 }, "version": 1 }