MechanicalKeyboards APImechanicalkeyboards.com ↗
Access mechanical keyboard switches, keyboards, specs, pricing, availability, and customer reviews from mechanicalkeyboards.com via 8 structured endpoints.
What is the MechanicalKeyboards API?
The mechanicalkeyboards.com API exposes 8 endpoints covering the site's switch and keyboard catalogs, including full product specs, variant pricing, availability, and customer reviews. The get_switch_detail endpoint returns parsed actuation force, pretravel, and total travel alongside feel type (linear, tactile, or clicky), while get_keyboard_specs surfaces form factor, dimensions, switch options, and keycap characteristics for any keyboard handle.
curl -X GET 'https://api.parse.bot/scraper/9a982982-bc27-4674-af7e-385a0e781685/get_switches?page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve a paginated list of keyboard switches from the keyboard-switches collection. Each page returns up to 30 products with basic info, tags, and parsed specs (actuation force, pretravel, total travel). Use page parameter to advance through the catalog.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
{
"type": "object",
"fields": {
"page": "integer indicating current page number",
"products": "array of switch product objects with id, name, brand, handle, price, available, thumbnail, tags, and specs"
},
"sample": {
"data": {
"page": 1,
"products": [
{
"id": 8928336806188,
"name": "Greetech Blue 55g Clicky Switch",
"tags": [
"55g",
"blue",
"clicky"
],
"brand": "Greetech",
"price": "0.09",
"specs": {
"actuation_force": "55g actuation force"
},
"handle": "greetech-blue-55g-clicky",
"available": true,
"thumbnail": "https://cdn.shopify.com/s/files/1/0835/9706/6540/files/5298-MFPII-Greetech-Blue-Switch.png?v=1707268208"
}
]
},
"status": "success"
}
}About the MechanicalKeyboards API
Switches Catalog
The get_switches endpoint returns paginated lists of up to 30 switch products per page, each with id, name, brand, handle, price, available, thumbnail, tags, and parsed specs. To get full details for a specific switch, pass its handle slug to get_switch_detail, which returns all product variants with individual price, sku, and available fields, plus a feel string (linear, tactile, clicky, or null), all image URLs, and an HTML product description. get_switch_brands returns an alphabetically sorted list of all switch vendors currently in the catalog.
Keyboards Catalog
get_keyboards paginates the mechanical keyboards collection in the same 30-product-per-page structure. Calling get_keyboard_detail with a handle returns variant-level pricing and SKUs, images, tags, and a specs object (which may be sparse for some keyboards). For richer technical data, get_keyboard_specs returns form_factor (e.g., Full-size, TKL, 75%), physical dimensions (length, width, height in mm — all null when not listed by the site), weight, switch_options, and a characteristics object covering fields like keycap profile, key count, interface, layout, and materials.
Search and Reviews
search_products accepts a free-text query (e.g., 'gateron', 'linear switch') and an optional limit, returning matching products across the full catalog with name, handle, price, available, image, url, and vendor. get_switch_reviews fetches per-handle customer reviews — each with author, rating, title, body, and date — plus an aggregate object containing average rating and review count (both may be null if no reviews widget is present for that product).
Pagination and Handles
All paginated endpoints (get_switches, get_keyboards) accept an integer page parameter and return the current page value in the response. Product handle slugs returned by listing or search endpoints serve as the key input for all detail, review, and spec endpoints.
The MechanicalKeyboards API is a managed, monitored endpoint for mechanicalkeyboards.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mechanicalkeyboards.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 mechanicalkeyboards.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?+
- Build a switch comparison tool that contrasts actuation force, pretravel, and feel type across brands using
get_switch_detail - Populate a keyboard configurator with available switch options and layouts pulled from
get_keyboard_specs - Monitor price and availability changes across the switches or keyboards catalog using paginated
get_switchesandget_keyboardspolling - Aggregate customer sentiment by collecting review ratings and bodies via
get_switch_reviewsfor multiple switch handles - Power a brand-filtered switch browser using the alphabetical vendor list from
get_switch_brandscombined withsearch_products - Track in-stock keyboard variants by iterating
get_keyboard_detailresponses and checking per-variantavailablefields - Index the full product catalog for a custom search interface using
search_productswith keyword queries
| 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 mechanicalkeyboards.com offer an official developer API?+
What does `get_switch_reviews` return, and what does the aggregate object contain?+
get_switch_reviews returns an array of individual review objects — each with id, author, rating, title, body, and date — plus an aggregate object with rating (average score) and count (number of reviews). Both fields in aggregate can be null if the product page carries no reviews widget.How complete are the keyboard specs returned by `get_keyboard_specs`?+
dimensions (length_mm, width_mm, height_mm) and weight are null when the site does not list them. form_factor and switch_options may also be absent for some products. The characteristics object captures all additional key-value pairs the site does include, such as keycap profile, key count, interface, and materials.Does the API cover keycaps or accessories beyond switches and keyboards?+
search_products may surface other product types in its results, but there are no dedicated listing or detail endpoints for keycaps, cables, or other accessories. You can fork this API on Parse and revise it to add endpoints targeting those collections.Can I filter switches by feel type (linear, tactile, clicky) directly?+
feel field is returned per product in get_switch_detail responses. To filter by feel, retrieve switch listings via get_switches and then call get_switch_detail for each handle to read the feel value. You can fork this API on Parse and revise it to add a feel-filtered listing endpoint.