Yahoo Shopping Search Scraper
Pricing
from $0.01 / 1,000 results
Yahoo Shopping Search Scraper
Extract product listings, prices, seller info, and descriptions from Yahoo Shopping. Supports price filtering, sorting, category filtering, merchant filtering, and pagination. Returns structured JSON data for market research and price monitoring.
Pricing
from $0.01 / 1,000 results
Rating
5.0
(3)
Developer
John
Maintained by CommunityActor stats
5
Bookmarked
22
Total users
3
Monthly active users
14 hours ago
Last modified
Categories
Share
Yahoo Shopping Scraper - Products, Prices & Sellers
Scrape Yahoo Shopping product listings with prices, sellers, images, and filters. The dedicated Apify Actor for Yahoo Shopping search. Supports price ranges, sorting, category filters, merchant filters, and pagination. Pay per page processed - no monthly subscription.
Use it for price monitoring, market research, competitive analysis, product discovery, or feeding structured product data into your e-commerce stack.
Use via the Apify MCP server
This Actor is discoverable through the Apify MCP server. Connect Claude, Cursor, VS Code, or any MCP-compatible client to https://mcp.apify.com and ask your agent to "scrape Yahoo Shopping for [your query]". The Actor will be registered as a tool and called automatically.
Python Quick Start Example
A complete Python example using the Apify client is available on GitHub:
github.com/johnisanerd/Apify-Yahoo-Shopping-Scraper
Clone the repo, run uv sync, add your API key, and you are scraping Yahoo Shopping in minutes.
What this Actor returns
| Field | Description |
|---|---|
| Product ID | Unique identifier for each listing |
| Product title | Full product name |
| Price | Current price (number, USD) |
| Sale price | Discounted price when on sale |
| Seller | Merchant name |
| Product link | Direct URL to the product page |
| Thumbnail | Product image URL |
| Position | Position in the search results |
| Filters | Available category and filter options returned by Yahoo Shopping |
| Search metadata | Total results, total pages, per-page counts |
All results are delivered as structured JSON, ready for export to CSV, Excel, or direct ingestion by your application.
Key features
- Price filtering - Set
min_priceandmax_priceto constrain results to a USD range. - Sorting - Order by
price,relevancy,popularity, ordiscountPercentagein ascending or descending order. - Category filtering - Pass
category_attr_valuesto filter by category attributes (gender, age, etc.). - Merchant filtering - Pass a comma-separated list of
merchantsto restrict results to specific sellers. - Flexible pagination - Use offset-based (
start) or page-based (page) pagination, withmax_pagesto cap the run. - Per-page billing - Each page is pushed as a separate dataset item for transparent, page-level costs.
- MCP-ready - Discoverable and callable through the Apify MCP server for agentic workflows.
Usage examples
Basic product search
{"query": "coffee","max_pages": 1}
Price-filtered search with sorting
{"query": "laptop","min_price": "500","max_price": "1500","sort_by": "price","order_by": "ASC","max_pages": 1}
Category-filtered search
{"query": "shoes","category_attr_values": "gender_female,age_adult","max_pages": 1}
Popular products
{"query": "headphones","sort_by": "popularity","order_by": "DESC","max_pages": 1}
Pagination with page number
{"query": "coffee","page": 2,"limit": 60,"max_pages": 2}
Pagination with start offset
{"query": "laptop","start": 60,"limit": 60,"max_pages": 2}
Merchant-specific search
{"query": "smartphone","merchants": "merchant_id_1,merchant_id_2","max_pages": 1}
All parameters together
{"query": "coffee maker","min_price": "20","max_price": "150","sort_by": "discountPercentage","order_by": "DESC","category_attr_values": "kitchen_appliances,coffee_brewers","merchants": "amazon,walmart","start": 0,"limit": 60,"page": 1,"max_pages": 3,"output_file": "coffee_maker_results.json"}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | yes | - | Search term for Yahoo Shopping products (e.g., "coffee", "laptop", "headphones"). |
min_price | string | no | "0.00" | Minimum price filter in USD. Must match ^\d+(\.\d+)?$. "0.00" means no minimum. |
max_price | string | no | "0.00" | Maximum price filter in USD. Must match ^\d+(\.\d+)?$. "0.00" means no maximum. |
sort_by | string | no | null | Sort field. One of "price", "relevancy", "popularity", "discountPercentage". |
order_by | string | no | null | Sort direction. "ASC" or "DESC". |
category_attr_values | string | no | null | Comma-separated category attribute filters (e.g., "gender_female,age_adult"). |
merchants | string | no | null | Comma-separated merchant IDs to restrict results. |
start | integer | no | 0 | Offset-based pagination position. Cannot be used with page. |
limit | integer | no | 60 | Results per page. Maximum 60. |
page | integer | no | null | Page number (1-indexed). Cannot be used with start. |
max_pages | integer | no | 1 | Maximum pages to fetch. 0 = no limit. |
output_file | string | no | null | Optional filename for local result export. Auto-generated when omitted. |
Output format
Each page of results is pushed as a separate dataset item with the structure below.
{"search_parameters": {"query": "coffee","min_price": null,"max_price": null,"sort_by": null,"sort_by_description": null,"order_by": null,"order_by_description": null,"category_attr_values": null,"merchants": null,"limit": 60,"start": 0,"page": null},"search_metadata": {"total_results": 387134,"total_pages": 6453,"shopping_results_count": 60,"pages_processed": 1,"max_pages_set": 1,"pagination_limit_reached": false},"search_timestamp": "2026-05-11T10:30:00.123456","page_number": 1,"shopping_results": [{"position": 1,"product_id": "123456789","link": "https://shopping.yahoo.com/product/123456789","title": "Premium Coffee Beans - 1lb Bag","seller": "Coffee Store","price": 24.99,"sale_price": 19.99,"thumbnail": "https://example.com/image.jpg"}],"filters": [{"key": "category","values": [{"id": "food_beverages","name": "Food & Beverages"}]}]}
Output field reference
search_parameters- The configuration used for the search, echoed back.search_metadata- Totals, pages processed, and whether the pagination cap was hit.search_timestamp- ISO 8601 timestamp of the search.page_number- Current page number (1-indexed).shopping_results- Array of product listings (see fields below).filters- Available filter options. Typically returned on the first page only.
Each shopping_results item contains: position, product_id, link, title, seller, price, sale_price, thumbnail.
Pricing
This Actor uses pay-per-event billing. You only pay for what you run.
- Setup fee: charged once per Actor run (covers instance start and provisioning). Tiered discounts apply based on your Apify plan.
- Page processed: $0.02 per page of shopping results processed. Each page is pushed to the dataset as a separate item for transparent billing.
- Per result: $0.00001 per dataset item stored.
You control your cost by setting max_pages. The Actor performs a budget check before running and exits gracefully if your run limit is too low to complete the requested work.
Use cases
- Price monitoring - Track product prices over time for specific items or categories.
- Market research - Analyze product availability, pricing trends, and seller distribution.
- Competitive analysis - Compare prices across merchants.
- Product discovery - Find products matching specific criteria (price, category, merchant).
- E-commerce integration - Build product feeds and inventory pipelines.
- Price comparison tools - Power consumer-facing price comparison apps.
- AI agent workflows - Let an LLM call this Actor via Apify MCP to enrich product reasoning with live shopping data.
Frequently asked questions
How do I get started?
Provide a query parameter with your search term and click Run. The Actor returns structured JSON results in the default dataset, viewable as JSON, CSV, or Excel.
Can I filter results by price range?
Yes. Use min_price and max_price. Both accept string values matching the regex ^\d+(\.\d+)?$. Set either to "0.00" to remove that bound.
What sorting options are available?
sort_by accepts "price", "relevancy", "popularity", or "discountPercentage". Pair with order_by set to "ASC" or "DESC".
How does pagination work?
Two modes:
- Offset-based: set
startto the starting position. - Page-based: set
pageto the 1-indexed page number.
Use one or the other - not both in the same call.
Can I filter by specific merchants?
Yes. Pass comma-separated merchant IDs in merchants.
What is the maximum number of results per page?
60 results per page (also the default).
How many pages can I scrape?
As many as you want. Set max_pages to 0 for no limit, or a specific number to cap the run. Each page is billed separately.
What data format does the Actor return?
Structured JSON pushed to the Apify dataset. Export as JSON, CSV, or Excel from the console, or pull via the Apify API.
Is the Actor callable from an AI agent?
Yes. The Actor is registered with the Apify MCP server, so any MCP-compatible client (Claude, Cursor, VS Code, Cline, Windsurf, etc.) can discover and call it.
How do I avoid surprise costs?
Set max_pages to a small number for testing. The Actor performs a budget check before running and will exit gracefully if your run limit is too low.
Technical notes
- Results are sorted by Yahoo Shopping's default relevancy when
sort_byis omitted. pageandstartare mutually exclusive - pick one mode of pagination.- Maximum
limitper page is 60. - Filters are typically returned on the first page only.
- All prices are USD.
- Setting
max_pagesto0fetches all available pages. - Output is automatically cleaned and validated for JSON serialization compliance.
- Each page is pushed as a separate dataset item for accurate per-page billing.
min_price/max_pricemust be provided as strings (e.g.,"50"or"99.99") and validated against^\d+(\.\d+)?$.- Setting
min_priceormax_priceto"0.00"removes that bound.
Ready to collect Yahoo Shopping data?
Plug in a search query, set your pagination, and you have a clean, structured product feed in minutes. Whether you are building a price comparison tool, monitoring competitors, or feeding an AI agent with live shopping data, this Actor handles the discovery, parsing, and per-page billing.
Last Updated: 2026.05.19
