Knowde APIknowde.com ↗
Search and retrieve chemical products, suppliers, brands, formulations, and documents from the Knowde marketplace via 11 structured endpoints.
What is the Knowde API?
The Knowde API exposes 11 endpoints for querying the Knowde chemical ingredient marketplace, covering products, suppliers, brands, formulations, and documents. Starting with search_products, you can retrieve product names, slugs, descriptions, chemical properties, and filter metadata in a single paginated response. Supplier storefronts, brand details, industry categories, and specific TDS/SDS documents are each accessible through dedicated endpoints, making the dataset suitable for chemical sourcing, product discovery, and competitive intelligence workflows.
curl -X GET 'https://api.parse.bot/scraper/fabe46e7-f557-47ac-b9e1-74a1f1b75ec6/search_products?page=1&query=silicone' \ -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 knowde-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.
"""Knowde Chemical Marketplace — search products, browse categories, and explore supplier storefronts."""
from parse_apis.knowde_chemical_marketplace_api import Knowde, ResourceNotFound
client = Knowde()
# Search for products across the marketplace, cap at 5 results.
for product in client.products.search(query="silicone", limit=5):
print(product.name, product.company_name)
# List available technology categories.
for category in client.categories.list(limit=5):
print(category.title, category.results_count)
# List industry/market categories.
for industry in client.industries.list(limit=5):
print(industry.title, industry.slug)
# Construct a supplier and fetch a brand detail from its storefront.
supplier = client.supplier(slug="givaudan-naturex")
try:
brand = supplier.brands.get(brand_slug="naturex")
print(f"Brand: {brand.name}, external_id: {brand.external_id}")
except ResourceNotFound as exc:
print(f"Brand not found: {exc}")
# Fetch a product detail from the same supplier.
detail = supplier.products.get(product_slug="naturex-elderberry-fruit-powder-4-anthocyanins-hplc-on700002")
print(f"Product: {detail.name}, description: {detail.text_description}")
# Search for documents related to a chemistry topic.
doc = client.documents.search(query="silicone", limit=1).first()
if doc:
print(f"Document: {doc.name}, type: {doc.document_type}")
print("exercised: products.search / categories.list / industries.list / supplier.brands.get / supplier.products.get / documents.search")
Search for products on the Knowde chemical marketplace. Returns paginated results including product names, slugs, descriptions, properties, and metadata about available filters and categories. Each result includes the company_slug and product slug needed for get_product_details.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword for products (e.g. 'silicone', 'fumed silica', 'titanium dioxide') |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"results": "array of product objects with id, name, slug, description, company_name, company_slug, summary, properties",
"per_page": "integer, results per page",
"total_pages": "integer, total number of pages",
"results_count": "integer, total number of results"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"id": 338991,
"name": "Naturex Elderberry Fruit Powder 4% Anthocyanins HPLC (ON700002)",
"slug": "naturex-elderberry-fruit-powder-4-anthocyanins-hplc-on700002",
"uuid": "3cd420f2-02a8-4394-8634-7f25a331b507",
"summary": [
{
"key": "Ingredient Name",
"name": "Ingredient Name",
"items": [
"Elderberry Juice Powder"
]
}
],
"logo_url": "https://media.knowde.com/image/upload/f_auto,q_auto,w_128/v1706091338/production/Brand/22328/logo/image",
"banner_url": "https://media.knowde.com/image/upload/f_auto,q_auto,w_512/v1706091338/production/Product/338991/card_banner/image",
"company_id": 1333,
"properties": [
{
"key": "Applications",
"name": "Applications",
"items": [
"Functional & Flavored Water"
]
}
],
"description": "Elderberry juice powder...",
"company_name": "Givaudan - Naturex",
"company_slug": "givaudan-naturex"
}
],
"per_page": 36,
"total_pages": 10,
"results_count": 176520
},
"status": "success"
}
}About the Knowde API
Product and Supplier Search
The search_products endpoint accepts a query string (e.g. 'fumed silica') and an optional page integer, returning a dehydratedState object whose queries array contains SERP results with name, slug, company_slug, description, chemical properties, and associated filter/category metadata. The slug and company_slug values from those results feed directly into get_product_details, which requires both a storefront and a product_slug to return full chemical property sheets, related documents, formulation references, and brand/company info.
search_suppliers and get_supplier_storefront give access to the supplier dimension: search by name or keyword, then pull a full storefront using the storefront_slug to retrieve the supplier's description, top brands, featured products, and expert contacts. get_brand_details takes a brand_slug and a storefront slug to return the brand's full product list, properties, related formulations, and documents.
Formulations, Documents, and Categories
search_formulations and search_documents both accept query and optional page inputs and return paginated results for formulation records (e.g. serum recipes, moisturizer formulas) and technical documents (TDS, SDS, application notes) respectively. get_formulation_details resolves a specific formulation using storefront and formulation_slug slugs discovered from search results.
list_industries and list_product_categories require no inputs and return hierarchical tree structures: industry markets with title, slug, icon, image_url, results_count, and hub_page_path for each node, and the same shape for technology/product categories. These trees are useful for building category-filtered browsing UIs or understanding Knowde's classification scheme before issuing more targeted product searches.
The Knowde API is a managed, monitored endpoint for knowde.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when knowde.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 knowde.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?+
- Building a chemical ingredient sourcing tool that maps supplier storefronts to their product catalogs using
get_supplier_storefront - Aggregating TDS and SDS document links for a given chemical family by querying
search_documentswith material keywords - Comparing competing brands for a specific ingredient by combining
search_brandsresults withget_brand_detailsproperty data - Populating a formulation database for personal care R&D by searching
search_formulationswith application keywords like 'moisturizer' - Enumerating all Knowde industry markets and product technology categories via
list_industriesandlist_product_categoriesfor taxonomy mapping - Monitoring new product listings from a specific supplier by polling
search_productsfiltered by a knowncompany_slug - Cross-referencing chemical product slugs with their full property sheets using
get_product_detailsfor automated spec extraction
| 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 Knowde offer an official developer API?+
What does `get_product_details` return beyond what `search_products` already provides?+
search_products returns summary fields — name, slug, company_slug, description, and filter metadata. get_product_details goes further: it includes the full chemical property sheet, related documents (TDS, SDS), associated formulations, and detailed brand and company info within the dehydratedState response object.Can I retrieve product pricing or availability data from Knowde?+
How does pagination work across the search endpoints?+
search_products, search_suppliers, search_brands, search_formulations, and search_documents — accept an optional page integer. Results are returned inside the dehydratedState.queries array. If page is omitted, the first page is returned by default.Are supplier contact details (email, phone) exposed through the API?+
get_supplier_storefront does surface 'experts' metadata linked to a storefront, but direct contact fields like email or phone are not included in the response. The API covers storefront descriptions, top brands, and featured products. You can fork this API on Parse and revise it to add an endpoint targeting contact-level data if Knowde exposes it.