adafruit.com APIadafruit.com ↗
Access Adafruit product details, pricing, stock status, categories, and search across the full electronics catalog via a structured JSON API.
curl -X GET 'https://api.parse.bot/scraper/d90c84cb-2f18-4b41-ab40-8e2a52aa0116/get_product_details?product_id=5813' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch full details for a single product by product ID. Returns stale_input with kind 'input_not_found' if the product page does not exist or is not indexed.
| Param | Type | Description |
|---|---|---|
| product_idrequired | string | Numeric product ID (SKU) to fetch details for (e.g. '5813', '3055', '4296'). |
{
"type": "object",
"fields": {
"price": "string — formatted price with dollar sign",
"variants": "array of variant objects with product_id and name",
"image_urls": "array of full-size image URLs",
"product_id": "string — numeric SKU",
"description": "string — full product description",
"product_name": "string — product title",
"stock_status": "string — availability text",
"breadcrumb_path": "array of category breadcrumb strings",
"datasheet_links": "array of objects with name and url",
"related_products": "array of related product objects with product_name, product_id, price",
"quantity_discounts": "array of discount objects with quantity and price",
"technical_specifications": "array of specification strings"
},
"sample": {
"data": {
"price": "$200.00",
"variants": [],
"image_urls": [
"https://cdn-shop.adafruit.com/970x728/5813-01.jpg"
],
"product_id": "5813",
"description": "Description\nThe Raspberry Pi 5 is the newest...",
"product_name": "Raspberry Pi 5 - 8 GB RAM",
"stock_status": "In stock",
"breadcrumb_path": [
"Raspberry Pi",
"Computers"
],
"datasheet_links": [
{
"url": "https://cdn-shop.adafruit.com/product-files/5813/raspberry-pi-5-product-brief.pdf",
"name": "Product Brief"
}
],
"related_products": [],
"quantity_discounts": [],
"technical_specifications": [
"Specifications:\nProcessor:\n2.4GHz quad-core 64-bit Arm Cortex-A76 CPU..."
]
},
"status": "success"
}
}About the adafruit.com API
The Adafruit API gives developers structured access to the full Adafruit electronics catalog through 7 endpoints covering product details, search, category browsing, and availability. The get_product_details endpoint returns 10+ fields per product including price, variants, datasheet links, related products, and breadcrumb path. Whether you're building a parts picker, tracking inventory, or monitoring new releases, the API exposes the data you need in clean JSON.
Product Data
The get_product_details endpoint accepts a numeric product_id (Adafruit SKU) and returns the full product record: product_name, description, price, stock_status, variants (each with its own product_id and name), image_urls, breadcrumb_path, datasheet_links (name + URL pairs), and related_products with their own names, IDs, and prices. If the product ID doesn't exist or isn't indexed, the endpoint returns a stale_input result with kind input_not_found rather than an error.
Search and Browse
The search_products endpoint accepts a query string and supports several optional filters: sort (b for Best Match, r for Most Recent), availability as a JSON array string (["i"] for In Stock, ["o"] for Out of Stock, ["d"] for Discontinued), price_ranges as a JSON array string with bracket codes for five price tiers, and category_id to narrow results to a specific category. The get_category_products endpoint takes a numeric category_id and returns the category_name alongside a paginated product list. Both endpoints support a limit parameter. The list_all_categories endpoint requires no inputs and returns every top-level shop category with its category_id, category_name, and a short list of featured_products.
Stock and Availability
get_product_stock_status is a lightweight endpoint for polling availability without fetching the full product record. It returns stock_status, current_price, and a quantity_discounts array showing tiered pricing by purchase quantity. This is useful for monitoring whether a specific SKU has moved in or out of stock or whether bulk pricing has changed.
New and Featured Products
get_new_products and get_featured_products both require no mandatory inputs and return list-style results with product_name, product_id, price, stock_status, description, thumbnail_image_url, and url. get_new_products accepts a limit parameter for controlling result volume. These endpoints are suited for feed-style applications that surface Adafruit's latest or highlighted inventory.
- Build a component search tool that filters Adafruit products by keyword, price range, and in-stock status using
search_products. - Monitor stock availability for specific SKUs by polling
get_product_stock_statusand alerting whenstock_statuschanges. - Aggregate datasheet links across multiple products using the
datasheet_linksfield fromget_product_details. - Display a live feed of new Adafruit releases in a maker newsletter or Discord bot using
get_new_products. - Build a category browser that maps
list_all_categoriesIDs to product grids populated byget_category_products. - Sync Adafruit product metadata — names, prices, images, descriptions — into an internal parts database using
get_product_details. - Track quantity discount tiers for bulk purchasing decisions using the
quantity_discountsarray fromget_product_stock_status.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Adafruit have an official developer API?+
What does `get_product_details` return for a product with multiple variants?+
variants field is an array of objects, each containing a product_id (the variant's own SKU) and a name describing the variant. This lets you enumerate all purchasable options — such as different colors or configurations — from a single call against the parent product ID.Does the API expose customer reviews or ratings for products?+
How does availability filtering work in `search_products`?+
availability parameter accepts a JSON array string. Pass ["i"] to return only in-stock products, ["o"] for out-of-stock, or ["d"] for discontinued items. You can also filter by price tier using the price_ranges parameter, which accepts bracket codes for ranges starting below $5 up through $25 and above.