Discover/Adafruit API
live

Adafruit APIadafruit.com

Access Adafruit's full electronics catalog via API. Fetch product details, stock status, pricing, datasheets, category listings, and search results.

Endpoint health
verified 7d ago
search_products
get_featured_products
list_all_categories
get_product_details
get_new_products
7/7 passing latest checkself-healing
Endpoints
7
Updated
22d ago

What is the Adafruit API?

The Adafruit API gives developers access to 7 endpoints covering the full Adafruit electronics catalog, including product details, availability, and category browsing. The get_product_details endpoint returns over 10 fields per product — name, price, stock status, variants, datasheet links, breadcrumb path, and related products — identified by numeric SKU. Search, browse by category, and track new or featured arrivals are all supported.

Try it
Numeric product ID (SKU) to fetch details for.
api.parse.bot/scraper/d90c84cb-2f18-4b41-ab40-8e2a52aa0116/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d90c84cb-2f18-4b41-ab40-8e2a52aa0116/get_product_details?product_id=1819' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace adafruit-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Adafruit Shop SDK — search products, browse categories, check stock."""
from parse_apis.adafruit_shop_api import Adafruit, Sort, ProductNotFound

client = Adafruit()

# Search for Arduino products sorted by best match
for product in client.products.search(query="sensor", sort=Sort.BEST_MATCH, limit=3):
    print(product.product_name, product.price, product.stock_status)

# Get full details for one product via drill-down
item = client.products.search(query="raspberry pi", limit=1).first()
if item:
    detail = item.details()
    print(detail.product_name, detail.price)
    print("Specs:", len(detail.technical_specifications), "sections")
    for ds in detail.datasheet_links:
        print("  Datasheet:", ds.name)

# Browse a category by constructing it from its ID
category = client.category(category_id="105")
for p in category.products(limit=3):
    print(p.product_name, p.price)

# List all categories and inspect featured products
cat = client.categories.list(limit=1).first()
if cat:
    print(cat.category_name)
    for fp in cat.featured_products:
        print("  Featured:", fp.product_name, fp.product_id)

# Typed error handling for a missing product
try:
    missing = client.products.get(product_id="9999999")
    print(missing.product_name)
except ProductNotFound as exc:
    print(f"Product not found: {exc.product_id}")

print("exercised: products.search / details / products.get / category.products / categories.list")
All endpoints · 7 totalmissing one? ·

Fetch full details for a single product by product ID. Returns product name, pricing, stock status, technical specifications, images, variants, quantity discounts, datasheets, related products, and breadcrumb path. Returns stale_input with kind 'input_not_found' if the product page does not exist.

Input
ParamTypeDescription
product_idrequiredstringNumeric product ID (SKU) to fetch details for.
Response
{
  "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"
  }
}

About the Adafruit API

Product Data and Stock Lookups

The get_product_details endpoint accepts a product_id (numeric SKU) and returns a full record: product_name, price, stock_status, description, image_urls, variants, datasheet_links, related_products, and a breadcrumb_path array that shows where the product sits in the category hierarchy. For lighter-weight availability checks, get_product_stock_status returns stock_status, current_price, and a quantity_discounts array with tier-based pricing — useful for monitoring a specific part number without fetching the full product record.

Search and Category Browsing

The search_products endpoint accepts a query string and optional filters: sort (best match or most recent), availability (in stock, out of stock, or discontinued, passed as a JSON array string), price_ranges (five tiers from under $5 to $25+), and category_id to scope results to a specific department. The get_category_products endpoint browses a category directly by category_id and returns the category_name alongside a paginated product list. Both endpoints return product objects with product_name, product_id, price, stock_status, thumbnail_image_url, description, and url. The list_all_categories endpoint requires no inputs and returns all top-level categories with their category_id, category_name, and a sample of featured_products.

New Arrivals and Featured Products

get_new_products and get_featured_products provide catalog discovery without a search query. Both return the same product object shape. get_new_products accepts a limit parameter to control how many recent additions are returned. get_featured_products reflects whatever Adafruit is currently highlighting on their featured page. These endpoints are useful for building inventory monitors or alerting systems for new hardware releases.

Reliability & maintenanceVerified

The Adafruit API is a managed, monitored endpoint for adafruit.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when adafruit.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official adafruit.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor stock status and quantity discount tiers for specific Adafruit SKUs using get_product_stock_status
  • Build a component search tool filtered by price range and availability using search_products
  • Track new hardware releases by polling get_new_products with a limit parameter
  • Construct a category browser by fetching all top-level departments via list_all_categories then drilling into products with get_category_products
  • Pull datasheet URLs and technical specs for a parts database using the datasheet_links field from get_product_details
  • Aggregate related product suggestions for a recommendation widget using the related_products array
  • Sync featured product listings to an external storefront or newsletter using get_featured_products
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Adafruit have an official developer API?+
Adafruit operates the Adafruit IO API (https://io.adafruit.com/api/docs/) for IoT data streams and dashboards. That API is separate from the product catalog. It does not expose product listings, pricing, or stock status — those are what this Parse API covers.
How do availability filters work in `search_products`?+
The availability parameter takes a JSON array string. Pass '["i"]' for in-stock items, '["o"]' for out of stock, or '["d"]' for discontinued. The price_ranges parameter follows the same pattern: '["0"]' returns items under $5, '["1"]' covers $5–$9.99, '["2"]' $10–$24.99, and '["3"]' $25 and above. Both filters can be combined with a category_id to narrow results further.
Does the API return customer reviews or Q&A for products?+
Not currently. The API covers product descriptions, specs, datasheet links, variants, pricing, and stock status, but does not include customer reviews, ratings, or Q&A content. You can fork this API on Parse and revise it to add an endpoint that retrieves review data for a given product ID.
What does `breadcrumb_path` contain and why is it useful?+
The breadcrumb_path field in get_product_details is an array of category label strings representing the product's position in the Adafruit category hierarchy — for example, ["Electronics", "Microcontrollers", "Arduino"]. It lets you infer category membership for a product without making a separate category lookup.
Is guide, tutorial, or blog content from the Adafruit Learning System included?+
Not currently. The API covers only the shop catalog: products, categories, stock, and pricing. Content from learn.adafruit.com such as project guides, tutorials, and code examples is not exposed. You can fork this API on Parse and revise it to add endpoints that retrieve Learning System content by guide ID or keyword.
Page content last updated . Spec covers 7 endpoints from adafruit.com.
Related APIs in EcommerceSee all →
sparkfun.com API
Search SparkFun's electronics catalog, view product details, pricing, and stock availability, and discover today's featured deals. Browse product categories to find components, tools, and kits while staying updated on current promotions.
element14.com API
Search and browse Newark (element14)'s electronic components catalog to find product details, pricing, stock levels, and technical documentation. Retrieve specifications, explore categories and manufacturers, and access real-time inventory information to compare components.
getfpv.com API
Search and browse products from GetFPV's catalog of FPV drone components and accessories. Retrieve listings by keyword or category, view detailed product specifications, pricing, and stock status, and explore new arrivals and current sales.
analog.com API
Browse Analog Devices' complete product catalog, search for specific parts, and instantly access detailed specifications, documentation, pricing, and sample purchasing options. Explore product categories and subcategories to discover components that match your technical requirements and budget.
amazon.com API
Search and browse Amazon products, reviews, offers, and deals, then manage your shopping cart all through a single integration. Get detailed product information, seller profiles, and best sellers to compare prices and make informed purchasing decisions.
anker.com API
Search and browse Anker products to find prices, images, variants, and availability information directly from their online store. Get detailed product specifications to compare items and make informed purchasing decisions.
shopdisney.com API
Search and browse the Disney Store catalog by keyword, category, or new arrivals. Retrieve detailed product information including name, price, images, availability, and attributes across the full shopDisney merchandise range.
abercrombie.com API
Search and browse Abercrombie & Fitch products across categories, new arrivals, and clearance items while retrieving detailed product information like pricing and availability. Access curated collections and find exactly what you're looking for with powerful search capabilities.