novelkeys.xyz APInovelkeys.xyz ↗
Access NovelKeys product data via API: switches, keycaps, keyboards, collections, availability status, preorders, and new arrivals across 9 endpoints.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/a709cb82-30c6-4635-984d-fdd0f21e8def/get_all_switches' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch all mechanical keyboard switch products from the switches collection. Returns the full list with pagination handled internally.
No input parameters required.
{
"type": "object",
"fields": {
"products": "array of switch product objects with id, title, handle, variants, images, tags, vendor, and pricing",
"collection": "string, always 'switches'"
},
"sample": {
"data": {
"products": [
{
"id": 8717990035623,
"tags": [],
"title": "Typeplus Hi! Viz Switches",
"handle": "typeplus-hi-viz-switches",
"vendor": "NovelKeys Preorder",
"variants": [
{
"id": 47845301780647,
"price": "17.00",
"title": "Default Title",
"available": false
}
],
"product_type": "Switches"
}
],
"collection": "switches"
},
"status": "success"
}
}About the novelkeys.xyz API
The NovelKeys API provides 9 endpoints covering the full NovelKeys mechanical keyboard catalog, including switches, keycaps, and keyboards. Use get_switch_availability_status to retrieve per-variant stock status (IN STOCK, SOLD OUT, PREORDER, or CLEARANCE), list_all_collections to enumerate every product collection, and search_products to query the catalog by keyword. Responses include variant-level pricing, SKUs, images, tags, and vendor metadata.
Switch and Product Data
The get_all_switches endpoint returns the complete switches collection as an array of product objects, each containing id, title, handle, variants, images, tags, vendor, and pricing fields. For deeper detail on a single switch, get_switch_details accepts a handle parameter (e.g. cherry-switches) and returns the full product record including body_html, options, and all associated images. get_switch_variants scopes down to just the variant layer for a given handle, returning id, title, price, sku, available, option1, and compare_at_price for each sub-type.
Collections and Search
list_all_collections returns every collection on the site with fields including id, title, handle, description, published_at, updated_at, image, and products_count. Once you have a collection handle, get_collection_products fetches every product in that collection, paginating internally so you receive the complete list in a single call. search_products accepts a query string and returns matching product summaries with price_min, price_max, available, vendor, type, and a direct url per result.
Availability, Preorders, and New Arrivals
get_switch_availability_status resolves each variant of a switch to one of four statuses: IN STOCK, SOLD OUT, PREORDER, or CLEARANCE, alongside the boolean available field, sku, and price. This makes it straightforward to filter for purchasable stock or flag items on clearance without parsing raw variant data yourself. get_preorder_products returns products currently available for preorder, and get_new_arrivals returns up to 50 of the most recently added or updated products sorted by recency, with created_at and published_at timestamps included.
- Monitor switch restock events by polling
get_switch_availability_statusfor SOLD OUT variants flipping to IN STOCK. - Build a preorder tracker that surfaces new preorder listings via
get_preorder_productsas they appear. - Compare pricing across switch variants using
price,compare_at_price, andskufromget_switch_variants. - Index the full NovelKeys catalog for a custom search tool using
list_all_collectionsandget_collection_products. - Alert users to new product drops by watching
created_attimestamps fromget_new_arrivals. - Populate a switch comparison database with specs, tags, and vendor data from
get_switch_details. - Search across all product types by keyword using
search_productsand filter bytypeorvendor.
| 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 | 250 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 NovelKeys have an official developer API?+
What does `get_switch_availability_status` return beyond a simple in-stock boolean?+
status string that distinguishes four states: IN STOCK, SOLD OUT, PREORDER, and CLEARANCE. Each entry also includes variant_id, title, sku, price, and the raw boolean available field, so you can differentiate clearance items from regular stock without inspecting tags manually.Does the API cover non-switch product types like keyboards and keycaps?+
get_collection_products accepts any valid collection handle, including keycaps and keyboards, so non-switch products are accessible. search_products also covers all product types and returns a type field per result. Switch-specific endpoints like get_switch_variants and get_switch_availability_status are scoped to switch handles only. You can fork this API on Parse and add dedicated availability or variant endpoints for other product types.Are customer reviews or ratings included in the product responses?+
How is pagination handled across endpoints that return large lists?+
get_all_switches, list_all_collections, and get_collection_products all paginate internally, meaning a single API call returns the complete result set rather than a single page. The get_new_arrivals endpoint is an exception — it caps results at 50 products regardless of how many exist.