Discover/Thorne API
live

Thorne APIthorne.com

Search and browse Thorne supplement products via API. Returns pricing, benefits, badges, ratings, health need filters, and pagination across the full catalog.

Endpoint health
verified 4d ago
search_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
26d ago

What is the Thorne API?

The Thorne.com API provides access to the full Thorne supplement catalog through a single search_products endpoint that returns up to 18 fields per product, including price, retail price, benefits, badges, and availability. You can query by keyword, filter by health need category or product type, paginate through results, and receive dynamic facet data showing available filter values and counts for any given result set.

Try it
Page number for pagination (starts at 1)
Sort field (leave empty for relevance)
Search query (e.g., 'vitamin d', 'magnesium', 'protein')
Filter by health need category (e.g., 'Immune', 'Bone & Joint', 'Sports Performance', 'Heart & Vessels', 'Energy')
Filter by product type (e.g., 'Supplements', 'Accessories')
api.parse.bot/scraper/5eccb8b7-2e22-4753-b630-60c3201d42ea/<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/5eccb8b7-2e22-4753-b630-60c3201d42ea/search_products?page=1&query=vitamin+d' \
  -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 thorne-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.

"""Walkthrough: Thorne SDK — search supplements, filter by health need, paginate."""
from parse_apis.thorne_product_search_api import Thorne, NotFoundError

client = Thorne()

# Search for vitamin D products with a total-items cap.
for product in client.products.search(query="vitamin d", limit=5):
    print(product.name, product.price, product.average_rating)

# Filter by health need and drill into the first result.
product = client.products.search(health_need="Immune", limit=1).first()
if product:
    print(product.name, product.sku, product.benefits, product.subscribable)

# Typed error handling around a search call.
try:
    result = client.products.search(query="magnesium", limit=3).first()
    if result:
        print(result.name, result.review_count, result.dosage_unit)
except NotFoundError as exc:
    print(f"not found: {exc}")

print("exercised: products.search with query / health_need filter / error handling")
All endpoints · 1 totalmissing one? ·

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. Supports filtering by health need category and product type.

Input
ParamTypeDescription
pageintegerPage number for pagination (starts at 1)
sortstringSort field (leave empty for relevance)
querystringSearch query (e.g., 'vitamin d', 'magnesium', 'protein')
health_needstringFilter by health need category (e.g., 'Immune', 'Bone & Joint', 'Sports Performance', 'Heart & Vessels', 'Energy')
product_typestringFilter by product type (e.g., 'Supplements', 'Accessories')
Response
{
  "type": "object",
  "fields": {
    "page": "integer - current page number",
    "query": "string - the search query used",
    "facets": "array of filter facets with name and available values (value, label, count)",
    "has_more": "boolean - whether more pages exist",
    "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",
    "page_size": "integer - results per page",
    "total_pages": "integer - total number of pages",
    "total_results": "integer - total number of matching products"
  },
  "sample": {
    "data": {
      "page": 1,
      "query": "magnesium",
      "facets": [
        {
          "name": "Product Type",
          "values": [
            {
              "count": 17,
              "label": "Supplements",
              "value": "Supplements"
            }
          ]
        }
      ],
      "has_more": false,
      "products": [
        {
          "id": 30,
          "sku": "M272",
          "url": "https://www.thorne.com/products/dp/magnesium-citramate",
          "name": "Magnesium CitraMate",
          "price": "$22.00",
          "badges": [
            "Bestsellers"
          ],
          "benefits": [
            "Bone & Joint",
            "Heart & Vessels"
          ],
          "headline": "A well-absorbed form of magnesium",
          "image_url": "https://d1vo8zfysxy97v.cloudfront.net/media/product/m272.png",
          "orderable": true,
          "search_tag": "Magnesium",
          "dosage_unit": "Capsule(s)",
          "discontinued": false,
          "out_of_stock": false,
          "retail_price": "$22.00",
          "review_count": 268,
          "subscribable": true,
          "average_rating": 5,
          "dosage_frequency": "With Meals",
          "short_description": "Get support for more than 600 enzymatic processes"
        }
      ],
      "page_size": 25,
      "total_pages": 1,
      "total_results": 17
    },
    "status": "success"
  }
}

About the Thorne API

What the API Returns

The search_products endpoint returns structured product data from Thorne.com. Each product object includes id, sku, name, headline, short_description, price, retail_price, image_url, url, benefits, and badges. Alongside products, the response includes total_results, total_pages, page_size, has_more, and the query string that was used — making it straightforward to build paginated product listings or catalog mirrors.

Filtering and Search

The query parameter accepts free-text searches like vitamin d, magnesium, or protein. Results can be narrowed further with health_need (e.g., Immune, Bone & Joint, Sports Performance, Heart & Vessels, Energy) and product_type (e.g., Supplements, Accessories). Omitting all filters returns the full catalog. The sort parameter controls ordering; leaving it empty defaults to relevance ranking.

Facets and Navigation

Every response includes a facets array. Each facet has a name and a list of available values, each with a value, label, and count. This lets you dynamically render filter menus that reflect what's actually available in the current result set — useful for building faceted search UIs without hardcoding filter options.

Pagination

Pagination is controlled by the page integer parameter (starting at 1). The response reports back page, page_size, total_pages, and the has_more boolean, giving you everything needed to iterate through large result sets programmatically.

Reliability & maintenanceVerified

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

Last verified
4d ago
Latest check
1/1 endpoint 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
  • Build a supplement comparison tool using price, retail_price, and benefits fields across multiple products
  • Track price changes on specific Thorne SKUs by polling search_products with a product name query
  • Populate a health-category landing page using the health_need filter and facet counts
  • Sync Thorne catalog data into an internal product database using paginated full-catalog requests
  • Surface product badges and headlines in a curated wellness recommendation feed
  • Generate structured product feeds for affiliate or content sites using url, image_url, and short_description
  • Analyze category breadth by iterating facet values returned in the facets array
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 Thorne have an official developer API?+
Thorne does not publish a public developer API or API documentation on thorne.com as of this writing.
What product detail fields does `search_products` return?+
Each product object includes id, sku, name, headline, short_description, price, retail_price, image_url, url, benefits, and badges. The response also carries pagination metadata (total_results, total_pages, has_more) and a facets array with filter values and counts.
Does the API return individual product pages or customer reviews?+
Not currently. The API covers search and browse results, including product names, pricing, benefits, and badges. It does not include full product page content, ingredient lists, or customer review data. You can fork this API on Parse and revise it to add an endpoint targeting individual product detail pages.
What health need categories are available as filters?+
The health_need parameter accepts values like Immune, Bone & Joint, Sports Performance, Heart & Vessels, and Energy. The exact set of available values for any search context is also returned in the facets array of each response, so you can read them dynamically rather than hardcoding them.
Can I retrieve inventory or stock status for products?+
Stock status is not a field currently returned by search_products. The API exposes price, retail_price, badges, and availability-related badge data, but does not include a discrete inventory count or in-stock boolean. You can fork this API on Parse and revise it to capture stock status if it appears on the product detail page.
Page content last updated . Spec covers 1 endpoint from thorne.com.
Related APIs in EcommerceSee all →
theordinary.com API
Browse and search The Ordinary's complete product catalog by category or ingredients. View detailed product information including formulas and key actives, apply filters by product type, concern, or ingredient, and read customer reviews to compare and evaluate products.
thredup.com API
Search and browse ThredUp's secondhand fashion inventory to find specific items and view detailed product information like pricing, condition, and sizing. Get smart search suggestions to discover similar styles and refine your thrifting experience.
thomann.de API
Search and browse Thomann's music store catalog to find products by category, view detailed specifications and pricing, read customer reviews, and filter results to discover the instruments and gear you're looking for. Access comprehensive product information including descriptions, availability, and ratings all in one place.
fishersci.com API
Search and discover laboratory products from Fisher Scientific's catalog with real-time results and typeahead suggestions. Find exactly what you need with paginated product listings to browse their full inventory of lab supplies and equipment.
sephora.com API
Search and browse Sephora's product catalog to find detailed information about beauty items, including specifications, customer reviews, Q&A discussions, pricing, and real-time availability. Filter products by category or brand, and access comprehensive brand listings to discover exactly what you're looking for.
paulaschoice.com API
Search and explore Paula's Choice skincare products with detailed ingredient lists, allergen information, and skin type recommendations all in one place. Find best sellers, look up specific ingredient details, and discover products organized by category to build your perfect skincare routine.
brookstone.com API
Search and browse Brookstone's catalog of products with full-text search, filters, sorting, and pagination to find exactly what you need. Get instant search suggestions and access detailed product information including pricing, descriptions, and availability.
chewy.com API
Search and browse pet products from Chewy.com, view detailed product information including prices and specifications, and read customer reviews to make informed purchasing decisions. Access comprehensive product catalogs and ratings all through a single integrated interface.