Micro Center APImicrocenter.com ↗
Search Micro Center's catalog, check real-time store inventory, read customer reviews, and browse deals across all store locations via a structured REST API.
What is the Micro Center API?
The Micro Center API exposes 9 endpoints covering product search, detailed technical specifications, customer reviews, and per-store inventory across all physical Micro Center locations. Use search_products to run full-text queries scoped to a specific store, or get_product_details to pull grouped spec sheets and key features for a single item by its product ID. Store-aware pricing and availability data are threaded through most endpoints.
curl -X GET 'https://api.parse.bot/scraper/99d38b3b-2bf4-4033-869d-50ef09d1e077/search_products?page=1&query=laptop&sort_by=match&store_id=115' \ -H 'X-API-Key: $PARSE_API_KEY'
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 microcenter-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: Micro Center SDK — bounded, re-runnable; every call capped."""
from parse_apis.micro_center_api import MicroCenter, Sort, ResourceNotFound
mc = MicroCenter()
# Search for graphics cards sorted by price (low to high)
for product in mc.products.search(query="graphics card", sort_by=Sort.PRICE_LOW, limit=5):
print(product.name, product.price, product.brand)
# Get a specific store by ID and check its top deals
brooklyn = mc.store(id="115")
for deal in brooklyn.deals(limit=3):
print(deal.name, deal.price, deal.stock_status)
# Check inventory for a product at that store
inv = brooklyn.inventory(product_id="700977")
print(inv.stock_status, inv.in_stock, inv.availability)
# Get detailed store info (address, hours) by slug
info = mc.storeinfos.get(store_slug="brooklyn")
print(info.name, info.address, info.hours)
# Browse products by category at a store
for gpu in brooklyn.products_by_category(category_id="518", category_name="Graphics Cards", limit=3):
print(gpu.name, gpu.sku, gpu.price)
# Drill into a product's reviews via sub-resource navigation
product = mc.products.search(query="laptop", sort_by=Sort.POPULAR, limit=1).first()
if product:
try:
for review in product.reviews.list(limit=3):
print(review.rating, review.submission_time, review.review_text)
except ResourceNotFound as exc:
print(f"not found: {exc}")
print("exercised: products.search / store.deals / store.inventory / storeinfos.get / store.products_by_category / product.reviews.list")
Full-text search over Micro Center's product catalog. Results are scoped to a single store for local pricing and availability. Supports sorting by relevance, popularity, price, or rating. Paginated; each page returns up to 24 products.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g. 'laptop', 'graphics card'). |
| sort_by | string | Sort order for results. |
| store_id | string | Micro Center store ID. Use get_all_stores to discover valid IDs. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"products": "array of product objects with name, sku, id, price, stock_status, brand, category, url",
"store_id": "string store ID used for this query",
"total_on_page": "integer count of products returned on this page"
},
"sample": {
"data": {
"page": 1,
"products": [
{
"id": "700977",
"sku": "922435",
"url": "https://www.microcenter.com/product/700977/...",
"name": "IdeaPad Slim 3i 15.6\" Laptop Computer",
"brand": "Lenovo",
"price": "249.99",
"category": "Laptops/Notebooks",
"stock_status": "5IN STOCKat Brooklyn Store"
}
],
"store_id": "115",
"total_on_page": 24
},
"status": "success"
}
}About the Micro Center API
Product Search and Details
The search_products endpoint accepts a query string and an optional store_id, returning up to 24 products per page with fields including name, sku, id, price, stock_status, brand, category, and url. Results can be sorted by relevance, popularity, price, or rating via the sort_by parameter. To get full specifications for any item, pass its id to get_product_details, which returns a specs object keyed by specification group (e.g. memory, connectivity, dimensions), a key_features array, and a product_info object containing productPrice, inStock, AvailabilityCode, mpn, ean, and category. For direct SKU lookups — useful when working from shelf labels or receipts — search_by_sku combines catalog search and detail fetch in a single call, returning both the product summary and full specs, or found: false when the SKU does not exist.
Inventory and Store Data
get_store_inventory checks a specific product at a specific location, returning in_stock (string boolean), availability, and stock_status text. get_all_stores lists every Micro Center location with its numeric id and name — these IDs are the store_id values accepted by the inventory, search, and category endpoints. get_store_info takes a URL slug (e.g. brooklyn, cambridge) and returns the store's full street address, hours as a semicolon-separated string by day, and the canonical page url.
Deals, Categories, and Reviews
get_top_deals returns the current promoted product list for a given store, with name, price, stock_status, brand, and url per deal item. get_category_products browses by numeric category_id — for example 518 for Graphics Cards or 123 for Processors — with optional category_name to improve result accuracy, returning the same product shape as search results. get_product_reviews pulls customer review data via Bazaarvoice, returning each review's Id, Rating, ReviewText, Title, SubmissionTime, and ProductId, with TotalResults and offset-based pagination controlled by limit and offset parameters.
The Micro Center API is a managed, monitored endpoint for microcenter.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when microcenter.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 microcenter.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor GPU restock across multiple Micro Center locations using get_store_inventory in a polling loop
- Build a price-tracking tool for PC components by querying search_products and recording productPrice over time
- Aggregate customer sentiment on a product line by paginating through get_product_reviews and analyzing Rating and ReviewText fields
- Populate a product comparison table with specs from get_product_details using the grouped specs object
- Generate a weekly deals digest by calling get_top_deals for each store ID returned by get_all_stores
- Look up hardware specifications by SKU from a receipt or shelf label using search_by_sku
- Build a store locator with hours and addresses by calling get_all_stores then get_store_info for each slug
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Micro Center have an official public developer API?+
What does get_product_details return beyond basic pricing?+
specs object with specification groups as top-level keys — each containing feature-value pairs — alongside a key_features array of descriptive strings, and a product_info object with fields like mpn, ean, AvailabilityCode, inStock, SKU, productID, brand, and category. Pricing is in productPrice inside product_info.How does store scoping work across endpoints?+
store_id parameter that scopes pricing and availability to a specific physical location. Use get_all_stores first to retrieve the full list of numeric store IDs and their names. Without a store_id, results may reflect default or national-level data.Does the API return online/web order availability, not just in-store stock?+
in_stock, stock_status, AvailabilityCode) tied to a specific store location. Online-only order status and ship-to-home availability are not exposed as distinct fields. You can fork this API on Parse and revise it to add an endpoint targeting online availability data.Can I retrieve historical pricing or price-drop history for a product?+
productPrice and stock_status at query time. You can fork this API on Parse and revise it to add a price-history endpoint by persisting responses over time in your own data layer.