Discover/NovelKeys API
live

NovelKeys APInovelkeys.xyz

Access NovelKeys product data via API: switches, keycaps, keyboards, collections, availability status, preorders, and new arrivals across 9 endpoints.

Endpoint health
verified 4d ago
search_products
list_all_collections
get_all_switches
get_switch_details
get_collection_products
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the NovelKeys 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.

Try it

No input parameters required.

api.parse.bot/scraper/a709cb82-30c6-4635-984d-fdd0f21e8def/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a709cb82-30c6-4635-984d-fdd0f21e8def/get_all_switches' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 novelkeys-xyz-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.

"""NovelKeys SDK — browse switches, check availability, explore collections."""
from parse_apis.novelkeys_api import NovelKeys, StockStatus, ProductNotFound

client = NovelKeys()

# Search for products by keyword — limit caps total items fetched.
for result in client.productsummaries.search(query="gateron", limit=3):
    print(result.title, result.price, result.available)

# Drill into the first search result for full product details.
hit = client.productsummaries.search(query="cherry", limit=1).first()
if hit:
    product = hit.details()
    print(product.title, product.vendor, product.product_type)

# Check real-time variant availability using the StockStatus enum.
switches = client.products.list_switches(limit=1).first()
if switches:
    for avail in switches.availability(limit=5):
        print(avail.title, avail.price, avail.status)

# Browse a collection's products via constructible Collection.
keycaps = client.collection("keycaps")
for product in keycaps.products.list(limit=3):
    print(product.title, product.handle)

# Typed error handling for a missing product.
try:
    client.products.get(handle="nonexistent-product-xyz")
except ProductNotFound as exc:
    print(f"Product not found: {exc.handle}")

print("exercised: search / details / list_switches / availability / collection.products.list / products.get")
All endpoints · 9 totalmissing one? ·

Fetch all mechanical keyboard switch products from the switches collection. Returns the full list with pagination handled internally. Each product includes id, title, handle, variants, images, tags, vendor, and pricing.

Input

No input parameters required.

Response
{
  "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",
          "images": [
            {
              "id": 41378672607399,
              "src": "https://cdn.shopify.com/s/files/1/3099/8088/files/NKxTypePlusxHiViz-TILE.jpg?v=1770338202",
              "width": 3000,
              "height": 1688,
              "position": 1
            }
          ],
          "vendor": "NovelKeys Preorder",
          "options": [
            {
              "name": "Title",
              "values": [
                "Default Title"
              ],
              "position": 1
            }
          ],
          "variants": [
            {
              "id": 47845301780647,
              "sku": "TYPEPLUS_HI_VIZ",
              "price": "17.00",
              "title": "Default Title",
              "option1": "Default Title",
              "available": false,
              "compare_at_price": null
            }
          ],
          "body_html": "<p>Recolor of the lubricated NovelKeys Classic Blue switches.</p>",
          "created_at": "2026-02-05T19:36:40-05:00",
          "updated_at": "2026-06-10T23:20:11-04:00",
          "product_type": "Switches",
          "published_at": "2026-02-06T10:00:33-05:00"
        }
      ],
      "collection": "switches"
    },
    "status": "success"
  }
}

About the NovelKeys API

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.

Reliability & maintenanceVerified

The NovelKeys API is a managed, monitored endpoint for novelkeys.xyz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when novelkeys.xyz 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 novelkeys.xyz 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.

Last verified
4d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor switch restock events by polling get_switch_availability_status for SOLD OUT variants flipping to IN STOCK.
  • Build a preorder tracker that surfaces new preorder listings via get_preorder_products as they appear.
  • Compare pricing across switch variants using price, compare_at_price, and sku from get_switch_variants.
  • Index the full NovelKeys catalog for a custom search tool using list_all_collections and get_collection_products.
  • Alert users to new product drops by watching created_at timestamps from get_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_products and filter by type or vendor.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does NovelKeys have an official developer API?+
NovelKeys runs on Shopify but does not publish a public developer API or data feed intended for third-party programmatic access. This Parse API provides structured access to their catalog data.
What does `get_switch_availability_status` return beyond a simple in-stock boolean?+
It returns a per-variant 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?+
Not currently. The API returns product metadata, variant data, images, tags, and pricing, but does not expose review counts, star ratings, or review text. You can fork the API on Parse and revise it to add a review-fetching endpoint if that data is available on the product pages.
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.
Page content last updated . Spec covers 9 endpoints from novelkeys.xyz.
Related APIs in EcommerceSee all →
mechanicalkeyboards.com API
Browse and compare mechanical keyboard switches, keyboards, keycaps, and parts with detailed specs, pricing, and customer reviews. Search products by brand, filter by availability, and read detailed reviews to find the perfect components for your custom keyboard setup.
anker.com API
Search and browse Anker products to find prices, images, variants, and availability information directly from their online store. Get detailed product specifications to compare items and make informed purchasing decisions.
redmagic.gg API
Browse RedMagic's complete product catalog, check real-time stock availability, view pricing and discounts, and compare gaming devices to find the best deal. Search specific products or explore collections to discover the latest RedMagic phones and accessories with up-to-date inventory information.
corsair.com API
Search and filter Corsair's gaming peripherals and PC components catalog by keywords, category, and product attributes like price and specs. Browse detailed product information, compare options, and easily navigate through results with sorting and pagination to find exactly what you need.
sharkninja.com API
Search and browse Shark and Ninja products with real-time availability and detailed specifications from sharkninja.com. Get instant search suggestions, view product details including pricing and features, and navigate results with easy pagination.
gamesir.com API
Browse and search GameSir's complete product catalog, including gaming controllers, accessories, and hall effect products across different collections and categories. Find new arrivals, top-rated items, sale products, and discover related products with detailed specifications and variants.
moodfabrics.com API
Search and browse Mood Fabrics' extensive catalog of fabrics, notions, and accessories with detailed product information including fiber content, weight, and pattern details. Discover blog posts, view color variants, filter collections, and find sale items all from one convenient integration.
newegg.com API
Search Newegg's product catalog and retrieve listings, specifications, customer reviews, Q&A, category trees, and daily deals.