Gewara APIgewara.com ↗
Access live concert, musical, and show listings from Gewara with 2 endpoints. Filter by city and category, get venue details, pricing, and availability.
What is the Gewara API?
The Gewara API provides access to live performance data from China's Gewara ticketing platform across 2 endpoints. Use list_performances to paginate through concerts, musicals, comedy shows, opera, and other entertainment events filtered by city and category, or call get_performance_detail to retrieve full event specifics including venue coordinates, address, rating score, ticket availability, and pricing for a single show.
curl -X GET 'https://api.parse.bot/scraper/0e72bfdc-501e-4a17-8274-25884f218015/list_performances?page=1&city_id=10&page_size=10&category_id=0' \ -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 gewara-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: Gewara API — browse live performances in Chinese cities."""
from parse_apis.gewara_com_api import Gewara, Category, PerformanceNotFound
client = Gewara()
# List concerts in Shanghai (default city), capped at 5 items
for show in client.performance_summaries.list(category_id=Category.CONCERT, limit=5):
print(show.name, show.price_range, show.show_time_range)
# Drill into the first opera performance for full detail
opera = client.performance_summaries.list(category_id=Category.OPERA, limit=1).first()
if opera:
detail = opera.details()
print(detail.name, detail.shop_name, detail.price_range)
print("Has description:", bool(detail.detail_html))
# Fetch a specific performance by ID with error handling
try:
perf = client.performances.get(performance_id="479229")
print(perf.name, perf.address, perf.lowest_price)
except PerformanceNotFound as exc:
print(f"Performance not found: {exc.performance_id}")
print("exercised: performance_summaries.list / details / performances.get")
List performances filtered by category and city with pagination. Returns concerts, musicals, comedy shows, opera, and other live entertainment events ordered by platform default ranking.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number starting from 1. |
| city_id | string | City ID for filtering results. 10 = Shanghai. |
| page_size | integer | Results per page, 1-50. |
| category_id | string | Category filter. Use 0 for all categories. |
{
"type": "object",
"fields": {
"paging": "pagination info with page_no, page_size, total_hits, has_more",
"performances": "array of performance summary objects with id, name, venue, dates, prices, location"
},
"sample": {
"paging": {
"page_no": 1,
"has_more": true,
"page_size": 5,
"total_hits": 43
},
"performances": [
{
"lat": 31.271167,
"lng": 121.480707,
"name": "林宥嘉《超级管家》巡回演唱会 上海站",
"score": "0.0",
"address": "东江湾路444号",
"city_id": 1,
"city_name": "上海",
"shop_name": "上海虹口足球场",
"poster_url": "https://p0.pipi.cn/mediaplus/fantasy_perform_fe/e429585b25c77e3cbc77e19815c71063ba629.jpg?imageMogr2/quality/80",
"short_name": "林宥嘉2026演唱会上海站",
"category_id": 1,
"price_range": "480-1380",
"discount_tag": null,
"lowest_price": 480,
"category_name": "演唱会",
"ticket_status": 2,
"performance_id": 479229,
"show_time_range": "2026.08.15 / 08.16"
}
]
}
}About the Gewara API
Browsing Performances
The list_performances endpoint accepts four optional parameters: city_id (e.g., 10 for Shanghai), category_id (use 0 for all categories), page, and page_size (1–50 results per page). The response includes a paging object with page_no, page_size, total_hits, and has_more, alongside a performances array of summary objects covering each show's id, name, venue, dates, prices, and location. Results are ordered by Gewara's default platform ranking.
Performance Details
Once you have a numeric performance ID from list_performances, pass it to get_performance_detail as the required performance_id parameter. The response returns a richer record: lat and lng coordinates for mapping the venue, a full address, shop_name (venue name), city_name, city_id, name, stock_out boolean indicating ticket availability, and optional star and score fields for user ratings. The endpoint also exposes descriptive HTML and ticket purchase notes where available.
Coverage and Scope
Gewara focuses on live entertainment in mainland China. City filtering works via city_id — Shanghai is 10 — and category filtering narrows results to specific genres. Ticket availability is reflected in the stock_out field, so you can surface in-stock events without fetching every detail record individually.
The Gewara API is a managed, monitored endpoint for gewara.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gewara.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 gewara.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 Shanghai events calendar by filtering
list_performanceswithcity_id=10and paginating through results. - Monitor ticket availability across multiple shows using the
stock_outfield fromget_performance_detail. - Map live event venues in a city using the
lat,lng, andaddressfields returned per performance. - Compare pricing across concerts and musicals by collecting the
pricesfield from paginatedlist_performancesresults. - Aggregate user rating data for shows using the
scoreandstarfields fromget_performance_detail. - Track new listings in a specific genre by polling
list_performanceswith a givencategory_id. - Display venue details alongside show info by combining
shop_name,address, and coordinates from the detail endpoint.
| 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 Gewara have an official developer API?+
How does city filtering work in `list_performances`?+
city_id. The documented example is 10 for Shanghai. If you omit city_id, results are not filtered by city. There is no endpoint that lists all available city IDs, so known values need to be assembled separately.Does the API return individual ticket session times or only the overall performance listing?+
stock_out. Granular session-by-session schedules and seat maps are not currently exposed. The API covers performance summaries and detail records. You can fork it on Parse and revise to add an endpoint that targets individual session data.Is the `score` field always populated in `get_performance_detail`?+
score (string) and star (integer) are nullable — they return null when a performance has not yet accumulated ratings on the platform. Code defensively and treat these as optional fields.Does the API cover cities outside Shanghai, or only Shanghai?+
city_id parameter — Shanghai (10) is the documented example, but other city IDs can be passed. Coverage reflects what Gewara lists on its platform, which is mainland China. Events outside mainland China are not covered. You can fork it on Parse and revise to add a city-lookup endpoint if you need a full enumeration of supported city IDs.