thorne.com APIthorne.com ↗
Search and browse Thorne supplement products via API. Returns pricing, ratings, benefits, health need filters, and pagination for every product result.
curl -X GET 'https://api.parse.bot/scraper/5eccb8b7-2e22-4753-b630-60c3201d42ea/search_products?query=magnesium&health_need=Sports+Performance' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products on Thorne.com. Returns product details with pagination and available filter facets. When no query or filters are provided, returns all products.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| sort | string | Sort field (leave empty for relevance) |
| query | string | Search query (e.g., 'vitamin d', 'magnesium', 'protein') |
| health_need | string | Filter by health need category (e.g., 'Immune', 'Bone & Joint', 'Sports Performance', 'Heart & Vessels', 'Energy') |
| product_type | string | Filter by product type (e.g., 'Supplements', 'Accessories') |
{
"type": "object",
"fields": {
"query": "string - the search query used",
"facets": "array of filter facets with name and available values (value, label, count)",
"products": "array of product objects with id, sku, name, headline, short_description, price, retail_price, image_url, url, benefits, badges, average_rating, review_count, out_of_stock, discontinued, orderable, subscribable, dosage_unit, dosage_frequency, search_tag",
"pagination": "object with page, page_size, total_results, total_pages, has_more"
},
"sample": {
"data": {
"query": "vitamin d",
"facets": [
{
"name": "Product Type",
"values": [
{
"count": 44,
"label": "Supplements",
"value": "Supplements"
}
]
}
],
"products": [
{
"id": 2,
"sku": "D128",
"url": "https://www.thorne.com/products/dp/d-1000-vitamin-d-capsule",
"name": "Vitamin D-1,000 - 90 Servings",
"price": "$17.00",
"badges": [],
"benefits": [
"Bone & Joint",
"Heart & Vessels",
"Immune"
],
"headline": "Get the vitamin that supports healthy teeth, bones, and muscles, as well as cardiovascular and immune function*",
"image_url": "https://d1vo8zfysxy97v.cloudfront.net/media/product/d128__v9b9446043201339cad5c3fa591562d3b90f24456.png",
"orderable": true,
"search_tag": "Vitamin D",
"dosage_unit": "Capsule(s)",
"discontinued": false,
"out_of_stock": false,
"retail_price": "$17.00",
"review_count": 605,
"subscribable": true,
"average_rating": 5,
"dosage_frequency": "With Meals",
"short_description": "Vitamin D, in its D3 form, is more potent and better absorbed form than its D2 form."
}
],
"pagination": {
"page": 1,
"has_more": true,
"page_size": 25,
"total_pages": 2,
"total_results": 44
}
},
"status": "success"
}
}About the thorne.com API
The Thorne.com API provides access to Thorne's supplement catalog through a single search_products endpoint that returns up to 17 fields per product, including name, SKU, price, retail price, benefits, badges, and availability. You can filter results by health need category or product type, sort the response, and paginate through the full catalog. When called with no parameters, it returns the entire product inventory.
What the API Returns
The search_products endpoint returns an array of product objects from Thorne's catalog. Each product includes fields for id, sku, name, headline, short_description, price, retail_price, image_url, url, benefits, badges, and availability. The price and retail_price fields let you compare the current selling price against the standard retail value. The benefits field lists the health or functional claims associated with each product, and badges surface labels like certifications or featured status.
Filtering and Pagination
The query parameter accepts free-text searches like 'vitamin d', 'magnesium', or 'protein'. You can narrow results further with health_need (e.g., 'Immune', 'Bone & Joint', 'Sports Performance', 'Heart & Vessels') or product_type (e.g., 'Supplements', 'Accessories'). The sort parameter controls ordering, and leaving it empty returns results by relevance. Pagination is managed via the page integer parameter starting at 1; the pagination object in the response provides page, page_size, total_results, total_pages, and has_more.
Filter Facets
Every response includes a facets array alongside the product list. Each facet has a name and a set of available values, where each value carries a label and a count representing how many products match that filter option. This makes it straightforward to build dynamic filter UIs or programmatically enumerate what categories and product types are present in a given search result.
- Compare Thorne supplement prices against retail prices to identify discount margins
- Build a health-need-specific product finder using the
health_needfilter parameter - Aggregate the
benefitsfield across all products to map Thorne's catalog by functional claim - Monitor product availability changes over time by polling the
search_productsendpoint - Enumerate all product types and health need categories from the
facetsresponse for taxonomy research - Pull product images and URLs to populate a supplement comparison tool or affiliate catalog
- Track badge assignments (certifications, featured status) across the Thorne product line
| 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 Thorne have an official developer API?+
What does the `search_products` endpoint return when no filters are applied?+
query, health_need, or product_type parameters, the endpoint returns all products in the Thorne catalog with default pagination. You can iterate through pages using the page parameter and monitor has_more in the pagination response object to know when you've reached the end.Does the API return customer reviews or ratings for products?+
search_products endpoint does not expose user-submitted reviews or aggregate rating scores — it returns product metadata including price, benefits, badges, and short_description. You can fork this API on Parse and revise it to add a product reviews endpoint if that data is needed.Are individual product detail pages accessible, or only search results?+
search_products. Per-product detail pages with extended ingredient lists, supplement facts panels, or full usage instructions are not covered. You can fork this API on Parse and revise it to add a product detail endpoint for that data.How granular is the health need filtering?+
health_need parameter maps to Thorne's own category taxonomy, with values like 'Immune', 'Bone & Joint', 'Sports Performance', and 'Heart & Vessels'. The facets array in each response lists all currently available health need values along with product counts, so you can dynamically discover valid filter values rather than hardcoding them.