Beverage Trade Network APIbeveragetradenetwork.com ↗
Access brands, buying leads, company directory, and membership pricing from Beverage Trade Network via 5 structured API endpoints.
What is the Beverage Trade Network API?
The Beverage Trade Network API exposes 5 endpoints covering brands, buying leads, company profiles, membership pricing, and competition results from the B2B beverage marketplace at beveragetradenetwork.com. The search_brands endpoint lets you query by keyword and returns brand name, country, category, and profile URL per result. The get_companies endpoint surfaces wineries, distilleries, importers, and distributors ordered by most recently added.
curl -X GET 'https://api.parse.bot/scraper/9218f040-e661-49cc-8a33-68804c4edae5/search_brands?page=1&query=vodka' \ -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 beveragetradenetwork-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: Beverage Trade Network SDK — search brands, browse leads and companies, check pricing."""
from parse_apis.beverage_trade_network_api import BeverageTradeNetwork, Brand, Company, BuyingLead, PricingPlan, NotFoundError
btn = BeverageTradeNetwork()
# Search for vodka brands — limit caps total items fetched across pages.
for brand in btn.brands.search(query="vodka", limit=5):
print(brand.name, brand.country, brand.category)
# Browse the latest buying leads — each lead names a product and buyer country.
lead = btn.buyingleads.list(limit=1).first()
if lead:
print(lead.product, lead.buyer_country, lead.full_title)
# Check membership pricing tiers.
for plan in btn.pricingplans.list(limit=10):
print(plan.name, plan.price, plan.currency)
# Browse the company directory with a small window.
try:
for company in btn.companies.list(limit=3):
print(company.name, company.type, company.country)
except NotFoundError as exc:
print(f"Directory unavailable: {exc}")
print("exercised: brands.search / buyingleads.list / pricingplans.list / companies.list")
Search for brands on Beverage Trade Network by product name keyword. Returns paginated results. POST-based server-side filter matches brand/product names. Empty query returns all brands. Each page returns approximately 10-20 results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, starting at 1. |
| query | string | Keyword to search in brand names (e.g. 'vodka', 'wine', 'whiskey'). Empty string returns all brands. |
{
"type": "object",
"fields": {
"page": "integer, the current page number",
"query": "string, the search query used",
"brands": "array of brand objects with name, country, category, and url"
},
"sample": {
"data": {
"page": 1,
"query": "vodka",
"brands": [
{
"url": "/en/brands/vodka-1/italy-112/vodka-8065.htm",
"name": "Vodka",
"country": "Italy",
"category": "Vodka"
},
{
"url": "/en/brands/vodka-1/united-states-231/vodka-7132.htm",
"name": "Vodka",
"country": "United States",
"category": "Vodka"
}
]
},
"status": "success"
}
}About the Beverage Trade Network API
Brands and Company Directory
The search_brands endpoint accepts an optional query string (e.g. 'vodka', 'wine', 'whiskey') and an optional page integer. Each page returns roughly 10–20 brand objects, each with name, country, category, and url. Passing an empty query returns all brands in the index. The get_companies endpoint follows the same pagination pattern and returns company objects with name, type, country, and url. Results are ordered by most recently added, making it useful for monitoring new entrants to the marketplace.
Buying Leads and Pricing
The get_buying_leads endpoint retrieves active buyer inquiries from the marketplace. Each lead object includes product, buyer_country, and full_title, giving suppliers a direct view of demand signals by category and geography. Results are paginated at approximately 10 leads per page. The get_pricing endpoint requires no input and returns the current membership subscription tiers as pricing_plans — an array of objects with name, price, and currency — useful for applications that need to present onboarding cost context alongside directory or lead data.
Competition Results
The get_competition_results endpoint accepts an optional event_id parameter (a year or competition identifier) and returns a results array from competitions such as the Sommeliers Choice Awards. This can be used alongside brand or company data to annotate profiles with recognized accolades.
The Beverage Trade Network API is a managed, monitored endpoint for beveragetradenetwork.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when beveragetradenetwork.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 beveragetradenetwork.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?+
- Aggregate buying leads by
buyer_countryto identify high-demand import markets for specific beverage categories - Build a brand discovery tool that lets users search by keyword and filter results by
categoryorcountryusingsearch_brands - Monitor newly listed companies in the
get_companiesdirectory to track new distributors and importers entering the marketplace - Enrich CRM records by cross-referencing brand profile URLs and country data from
search_brandsresults - Display current BTN membership tiers and prices fetched from
get_pricingwithin a beverage industry SaaS onboarding flow - Annotate brand profiles with award data by matching
get_competition_resultsentries to brands by name or event year - Track active buyer demand across product categories by polling
get_buying_leadson a scheduled basis
| 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 Beverage Trade Network have an official developer API?+
What does `get_buying_leads` return, and can I filter by product category or country?+
product, buyer_country, and full_title. The endpoint is paginated but does not currently accept filter parameters — results are returned in the order the marketplace surfaces them. You can fork the API on Parse and revise it to add server-side filtering by country or product category.Does the API return individual contact details or direct messaging for buyers and sellers?+
How deep does `get_competition_results` go — does it return scores, medal tiers, or judge notes?+
results array whose contents depend on the competition event identified by event_id. Currently the response shape is a raw array without documented sub-fields for scores or medal tiers. If you need structured medal or score data, you can fork the API on Parse and revise the endpoint to map specific result fields.Is there a way to retrieve a single brand or company profile in detail, rather than paginated lists?+
search_brands and paginated company lists via get_companies, each with name, category, country, and URL. Per-record detail pages are not exposed as a distinct endpoint. You can fork the API on Parse and revise it to add a detail endpoint using the url field returned in list results.