Wine Companion APIwinecompanion.com.au ↗
Access Australian winery data from winecompanion.com.au. Get contact details, regions, ratings, and facilities via 5 endpoints with state and region filtering.
What is the Wine Companion API?
The Wine Companion Australia API provides structured access to winery data from winecompanion.com.au across 5 endpoints, returning fields like phone, email, address, winemaker, established year, and regional classification. The get_winery_details endpoint retrieves full contact profiles for individual wineries, while list_wineries and get_regions support paginated directory browsing and region discovery across all Australian wine states.
curl -X GET 'https://api.parse.bot/scraper/dc25aad6-8545-43c2-860a-9de838e2c7eb/list_wineries?state=victoria®ion=yarra+valley&page_size=10&facilities=accommodation&page_number=1' \ -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 winecompanion-com-au-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: Wine Companion SDK — discover regions, search wineries, drill into details."""
from parse_apis.wine_companion_winery_directory_api import WineCompanion, State, Facility, WineryNotFound
wc = WineCompanion()
# List wine regions in Victoria
for region in wc.regions.list(state=State.VICTORIA, limit=5):
print(region.region_name, region.state_short)
# Search wineries with cellar door facilities in South Australia
for winery in wc.winerysummaries.search(state=State.SOUTH_AUSTRALIA, facilities=Facility.CELLAR_DOOR, limit=5):
print(winery.winery_name, winery.region, winery.rating)
# Drill into one winery's full contact details
summary = wc.winerysummaries.list(state=State.VICTORIA, limit=1).first()
if summary:
try:
detail = summary.details()
print(detail.winery_name, detail.phone, detail.address, detail.winemaker)
except WineryNotFound as exc:
print(f"Winery not found: {exc}")
# Bulk fetch wineries with full contact info
for w in wc.wineries.list(state=State.WESTERN_AUSTRALIA, limit=3):
print(w.winery_name, w.phone, w.region)
print("exercised: regions.list / winerysummaries.search / winerysummaries.list / details / wineries.list")
List wineries from the Wine Companion directory with pagination. Returns basic winery info including name, region, state, rating, and facilities. Server-side filtering by state, region, or facilities. Ordered by rating descending. Max page size is 50.
| Param | Type | Description |
|---|---|---|
| state | string | Filter by Australian state in lowercase (e.g. 'victoria', 'south australia', 'western australia', 'new south wales', 'queensland', 'tasmania') |
| region | string | Filter by wine region in lowercase (e.g. 'barossa valley', 'margaret river', 'yarra valley') |
| page_size | integer | Results per page (max 50) |
| facilities | string | Filter by facilities: 'accommodation', 'cellardoor', 'food' |
| page_number | integer | Page number (1-indexed) |
{
"type": "object",
"fields": {
"count": "integer number of wineries on this page",
"wineries": "array of winery summary objects",
"page_size": "integer results per page",
"page_number": "integer current page number",
"total_results": "integer total number of wineries matching filters"
},
"sample": {
"data": {
"count": 10,
"wineries": [
{
"state": "Victoria",
"rating": 5,
"region": "Beechworth",
"winery_id": "e0c67dcb-efc7-430b-b07a-06b3d94b15d3",
"facilities": [],
"winery_name": "Sorrenberg",
"winery_image": "https://cdn.winecompanion.com.au/-/media/wc/wineries/vic/tile/sorrenberg.ashx",
"current_rating": 5,
"winery_url_path": "/wineries/victoria/beechworth/sorrenberg",
"is_out_of_business": false,
"winecompanion_profile_url": "https://winecompanion.com.au/wineries/victoria/beechworth/sorrenberg"
}
],
"page_size": 10,
"page_number": 1,
"total_results": 3575
},
"status": "success"
}
}About the Wine Companion API
Directory Listing and Filtering
The list_wineries endpoint returns paginated winery summaries ordered by rating descending, with up to 50 results per page. Each winery object includes name, region, state, rating, and facilities. You can filter by state (e.g. 'south australia'), region (e.g. 'barossa valley'), or facilities (one of 'accommodation', 'cellardoor', or 'food'). The search_wineries endpoint exposes the same filter surface and response shape, oriented toward query-style use rather than full directory traversal.
Winery Detail Profiles
The get_winery_details endpoint accepts a url_path obtained from the winery_url_path field in listing results (e.g. '/wineries/victoria/grampians/seppelt') and returns a full contact record: phone, email, address, website_url, winemaker, established, state, and region. Fields return null when not present on the source profile. The source_page field indicates which profile URL the data was drawn from.
Bulk Retrieval and Region Discovery
For batch pipelines, get_all_wineries_with_details iterates through the directory and fetches individual profiles, returning full contact data in one response. Use limit and offset for incremental processing, and optionally filter by state or region to scope the batch. A delay parameter controls request cadence between individual profile fetches. The get_regions endpoint returns all recognised wine regions with fields including region_id, region_name, state, state_short, and region_url — useful for enumerating valid filter values before querying the listing endpoints.
The Wine Companion API is a managed, monitored endpoint for winecompanion.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when winecompanion.com.au 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 winecompanion.com.au 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 searchable map of Australian cellar doors filtered by state and the 'cellardoor' facility flag
- Compile a winemaker contact database by batch-fetching email and phone via get_all_wineries_with_details
- Populate a wine tourism app with winery accommodation options using the 'accommodation' facilities filter
- Generate a ranked winery list per region by combining list_wineries region filtering with rating ordering
- Discover all wine regions in a given state using get_regions before querying specific regional listings
- Monitor directory coverage across Australian states by tracking total_results per state filter
| 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.