Vita Bella APIvitabella.com ↗
Access Vita Bella Health's telehealth product catalog via API. Retrieve product names, starting prices, images, and treatment categories with optional filtering.
What is the Vita Bella API?
The Vita Bella Health API exposes 1 endpoint — list_products — that returns the full active telehealth product catalog, with 6 fields per product including title, starting monthly price, product image URL, slug, and treatment type. Developers can retrieve every listed treatment or narrow results to a specific category using the optional treatment_type filter.
curl -X GET 'https://api.parse.bot/scraper/fd7f2097-f94e-4e3d-9eaa-c99a4d9e911b/list_products?treatment_type=Anti-Aging' \ -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 vitabella-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: Vita Bella Health Products API — browse the telehealth catalog."""
from parse_apis.vitabella_com_api import VitaBella, TreatmentType, ParseError
client = VitaBella()
# List all products, capped at 10 total items.
for product in client.products.list(limit=10):
print(f"{product.title} — from ${product.starting_price}/mo ({product.treatment_type})")
# Filter by treatment type using the enum; handle upstream parse failures.
try:
anti_aging = client.products.list(treatment_type=TreatmentType.ANTI_AGING, limit=5).first()
except ParseError as e:
print(f"Parse failure: {e}")
anti_aging = None
if anti_aging is not None:
print(f"Featured anti-aging: {anti_aging.title} (slug={anti_aging.slug}, id={anti_aging.id})")
print("exercised: products.list / products.list(treatment_type=...)")
List all active telehealth products from Vita Bella Health. Returns product name, starting monthly price, product image URL, and treatment type (category). Optionally filter by treatment type. Products may belong to multiple treatment categories (pipe-separated). Results are sorted alphabetically by title.
| Param | Type | Description |
|---|---|---|
| treatment_type | string | Filter products by treatment category. Matches products whose categories contain the given value (case-insensitive partial match). When omitted, all active products are returned. |
{
"type": "object",
"fields": {
"total": "integer count of products returned",
"products": "array of product objects with id, title, slug, starting_price, product_image, and treatment_type"
},
"sample": {
"data": {
"total": 4,
"products": [
{
"id": 5,
"slug": "cedar-oral-hair",
"title": "Cedar Oral Hair",
"product_image": "/products/BG/CedarOralHairBG.webp",
"starting_price": 45,
"treatment_type": "Hair Loss"
},
{
"id": 14,
"slug": "ivy-oral-hair",
"title": "Ivy Oral Hair",
"product_image": "/public/products/BG/IvyOralHairBG.webp",
"starting_price": 45,
"treatment_type": "Hair Loss"
}
]
},
"status": "success"
}
}About the Vita Bella API
What the API Returns
The list_products endpoint returns an array of product objects from Vita Bella Health's telehealth catalog. Each object includes id, title, slug, starting_price, product_image, and treatment_type. The starting_price field reflects the lowest monthly price shown for that product. The product_image field is a direct URL to the product's image asset, suitable for display in a UI or comparison tool.
Filtering by Treatment Category
Products on Vita Bella Health can belong to multiple treatment categories. In the API response, these are represented in the treatment_type field as pipe-separated values (e.g. Weight Loss|Hormones). The optional treatment_type input parameter performs a case-insensitive substring match against this field, so passing weight would match any product whose categories contain that string. This makes it straightforward to segment the catalog by condition or treatment area without post-processing the full result set.
Response Structure
Every response from list_products includes a total integer indicating how many products matched the query, alongside the products array. This count reflects the filtered set when treatment_type is supplied, or the full catalog when no filter is applied. The slug field corresponds to the product's URL path on the Vita Bella Health site, which can be used to construct direct product links.
The Vita Bella API is a managed, monitored endpoint for vitabella.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vitabella.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 vitabella.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?+
- Build a telehealth product comparison table using
title,starting_price, andtreatment_typefields. - Display category-filtered treatment listings by passing a condition name to the
treatment_typeparameter. - Populate a product image gallery using the
product_imageURLs returned per product. - Track catalog size changes over time by monitoring the
totalcount across periodic requests. - Generate treatment-specific landing pages using the
slugfield to construct product URLs. - Feed a search or recommendation tool that maps user health goals to available telehealth products.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Vita Bella Health have an official developer API?+
What does the `treatment_type` filter actually match against?+
treatment_type field of each product. Because a product can belong to multiple categories stored as pipe-separated values, passing a partial string like hormone will match any product whose categories include that substring, regardless of how many categories are listed for that product.Does the API return detailed product descriptions or ingredient lists?+
list_products endpoint returns title, slug, starting_price, product_image, and treatment_type — no extended descriptions, dosage information, or ingredient data. You can fork this API on Parse and revise it to add an endpoint that retrieves per-product detail pages.Is there pagination support for large result sets?+
total count. There are no page or limit parameters currently exposed. If the catalog grows significantly, you can fork this API on Parse and revise it to add pagination parameters.Does the API include discontinued or out-of-stock products?+
list_products endpoint is scoped to active products only. Inactive or unlisted products are not included in the response. The total field reflects only the active, returned set.