Micro Center APImicrocenter.com ↗
Search Micro Center's product catalog, check real-time store inventory, browse deals, and retrieve specs and reviews across all 8 endpoints.
What is the Micro Center API?
The Micro Center API exposes 8 endpoints covering product search, detailed specifications, customer reviews, and real-time per-store inventory across all Micro Center physical locations. The search_products endpoint returns up to 24 products per page with name, SKU, price, and stock status scoped to a specific store. The API is suited for price tracking, stock alerting, and hardware comparison workflows that need current data from Micro Center's catalog.
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 Category Browsing
The search_products endpoint accepts a required query string and an optional store_id to scope results to a single Micro Center location. Results are sortable by relevance, popularity, price, or rating and are paginated in pages of up to 24 items. Each product object includes name, sku, id, price, stock_status, brand, category, and a direct url. The get_category_products endpoint provides the same paginated product list filtered by a numeric category_id — for example, 518 for Graphics Cards or 123 for Processors — and accepts an optional category_name parameter that improves result accuracy when provided.
Product Detail and Reviews
get_product_details returns a single product's full specification object keyed by spec group, a key_features array of description strings, and a product_info object containing fields like productPrice, SKU, mpn, ean, inStock, and AvailabilityCode. Pricing and availability context can be tuned by passing an optional store_id. Customer reviews are available via get_product_reviews, which returns an array of review objects from Bazaarvoice — each with Id, Rating, ReviewText, Title, SubmissionTime, and ProductId. Pagination is offset-based using offset and limit parameters, and TotalResults indicates how many reviews are available in total.
Inventory and Store Data
get_store_inventory checks a single product at a single store, returning in_stock (a string boolean), an availability description, and a stock_status string. Valid store_id values are discoverable via get_all_stores, which returns the full list of Micro Center locations with their numeric id and name. For detailed store information — street address and structured weekly operating hours — get_store_info accepts a store_slug such as brooklyn or cambridge and returns address and a semicolon-separated hours string.
Deals
get_top_deals returns the current promoted products at a given store, with fields including name, sku, price, stock_status, brand, and url. The deal selection is curated by Micro Center and rotates over time, making this endpoint useful for periodic polling to detect new promotions.
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?+
- Alert users when a specific GPU or CPU comes back in stock at a nearby Micro Center store using
get_store_inventory - Track price changes for PC components over time by polling
search_productsorget_category_productsfor a category like Graphics Cards - Build a hardware spec comparison tool using the grouped specification object returned by
get_product_details - Aggregate customer sentiment for a product by paginating through all reviews via
get_product_reviewswith offset-based pagination - Surface current Micro Center promotions and sale prices in a deal aggregator using
get_top_deals - Populate a store locator with addresses and operating hours using
get_all_storescombined withget_store_info - Compare local versus online PC hardware pricing by combining Micro Center product data from
search_productswith data from other sources
| 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 | 100 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 Micro Center have an official public developer API?+
How does store scoping work across endpoints, and what happens if I omit store_id?+
search_products, get_product_details, get_store_inventory, get_top_deals, and get_category_products — accept an optional store_id parameter. When omitted, results may default to a fallback store or return without location-specific pricing. Use get_all_stores first to retrieve valid numeric store IDs, then pass the relevant one to get accurate local prices and stock status.Does the API return online (ship-to-home) availability, not just in-store stock?+
get_store_inventory — return in-store availability via in_stock, availability, and stock_status fields scoped to a physical location. Online-only or ship-to-home availability is not currently a distinct field in the response. You can fork this API on Parse and revise it to add an endpoint that captures online availability separately.Are historical prices or price history available through any endpoint?+
search_products, get_product_details, and get_top_deals endpoints each return the current price at query time. You can fork this API on Parse and build a price-history endpoint by storing and comparing results from repeated calls.What is the pagination behavior for `get_product_reviews` compared to `search_products`?+
get_product_reviews uses offset-based pagination: you pass an offset integer and a limit integer, and the response includes TotalResults so you can calculate how many additional calls are needed. search_products and get_category_products use page-based pagination via a page integer parameter, with each page returning up to 24 products. The two patterns are not interchangeable — use offset/limit only for reviews.