Public API
Public API
Our store provides a free, read-only JSON API that requires no authentication, no API key, and no signup. It's designed for developers, integrators, and AI agents who want programmatic access to our product catalog.
Base URL
All API endpoints are available at:
/public-api/v1/
CORS is enabled, so you can call the API directly from browser-based applications.
Endpoints
List products
GET /public-api/v1/products
Returns a paginated list of published products. Supports full-text search and filtering.
Query parameters:
q— full-text search across product titles and descriptionsin_stock=true— only products currently in stockvendor=Adafruit— filter by brand/vendorproduct_type=Sensors— filter by product typepage=1— page number (default: 1)per_page=25— results per page (max: 100)
# Search for Arduino products
curl /public-api/v1/products?q=arduino&per_page=5
# In-stock items from SparkFun
curl /public-api/v1/products?in_stock=true&vendor=SparkFun
Get a single product
GET /public-api/v1/products/{handle}
Returns full product details including all variants, SKUs, stock quantities, images, pricing, and reviews.
curl /public-api/v1/products/raspberry-pi-5
List collections
GET /public-api/v1/collections
Returns all published collections with product counts.
Get a collection with products
GET /public-api/v1/collections/{handle}
Returns collection details with a paginated list of products in the collection.
curl /public-api/v1/collections/sensors?per_page=10
Response format
All responses are JSON. Product listings include pagination metadata:
{
"products": [ ... ],
"meta": {
"total": 1420,
"page": 1,
"per_page": 25,
"total_pages": 57
}
}
All prices are in AUD and include GST.
OpenAPI specification
A machine-readable OpenAPI 3.1 specification is available at /public-api/v1/openapi.json. You can import it into tools like Postman, Insomnia, or use it to auto-generate client libraries.
Rate limits
The API is rate-limited to 60 requests per minute per IP address. If you exceed this limit, you'll receive a 429 Too Many Requests response. For bulk data access, consider using the Atom feeds or Markdown endpoints instead.