Team-BHP APIteam-bhp.com ↗
Access Team-BHP forum categories, thread posts, automotive news, and user profiles via 7 structured API endpoints. Ideal for automotive research and NLP.
What is the Team-BHP API?
The Team-BHP API exposes 7 endpoints covering India's largest automotive forum, returning structured data from forum categories, paginated thread posts, automotive news listings, and member profiles. The get_thread endpoint retrieves every post in a thread — including author, date, and full text — while search_forum lets you query across threads or individual posts using any keyword or phrase.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e29c01c6-a06a-43c2-be89-a2d1299fba06/get_forum_index' \ -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 team-bhp-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: Team-BHP SDK — forum categories, threads, search, news."""
from parse_apis.team_bhp_forum_news_api import TeamBHP, SearchMode, ThreadNotFound
client = TeamBHP()
# Browse all forum categories and their sub-forums
for category in client.categories.list(limit=3):
print(category.category)
for forum in category.forums:
print(f" {forum.name} — {forum.slug}")
# Get threads from a specific forum using constructible Forum
indian_cars = client.forum("indian-car-scene")
for thread in indian_cars.threads(limit=3):
print(thread.title, thread.author, thread.views)
# Search for discussions about a car model
for result in client.discussions.search(query="Mahindra XUV700", showposts=SearchMode.THREADS, limit=5):
print(result.title, result.category_slug, result.url)
# Read posts from the first thread found
thread = indian_cars.threads(limit=1).first()
if thread:
for post in thread.posts(category_slug="indian-car-scene", limit=3):
print(post.author, post.date, post.content[:80])
# Get latest news articles
for article in client.articles.list(limit=5):
print(article.title, article.date, article.summary[:60])
# Get trending hot threads
for hot in client.hotthreads.list(limit=5):
print(hot.title, hot.url)
# Handle a thread that doesn't exist
try:
missing = client.forum("indian-car-scene")
for post in missing.threads(limit=1).first().posts(category_slug="indian-car-scene", limit=1):
print(post.content)
except ThreadNotFound as exc:
print(f"Thread gone: {exc.thread_id}")
print("exercised: categories.list / forum.threads / discussions.search / thread.posts / articles.list / hotthreads.list")
Get all forum categories and sub-forums from the Team-BHP forum index page. Returns the full category hierarchy with forum names and slugs. Thread/post counts may be unavailable depending on forum configuration.
No input parameters required.
{
"type": "object",
"fields": {
"categories": "array of category objects each containing 'category' (name string) and 'forums' (array of objects with name, slug, threads_count, posts_count, url)"
},
"sample": {
"data": {
"categories": [
{
"forums": [
{
"url": "https://www.team-bhp.com/forum/announcements/",
"name": "Announcements",
"slug": "announcements",
"posts_count": "",
"threads_count": ""
},
{
"url": "https://www.team-bhp.com/forum/indian-car-scene/",
"name": "The Indian Car Scene",
"slug": "indian-car-scene",
"posts_count": "",
"threads_count": ""
},
{
"url": "https://www.team-bhp.com/forum/travelogues/",
"name": "Travelogues",
"slug": "travelogues",
"posts_count": "",
"threads_count": ""
}
],
"category": ""
}
]
},
"status": "success"
}
}About the Team-BHP API
Forum Structure and Thread Data
The get_forum_index endpoint returns the complete category hierarchy as an array of objects, each containing a category name and a forums array with per-forum name, slug, threads_count, and post count. From there, get_forum_category accepts a slug parameter (e.g. 'travelogues' or 'official-new-car-reviews') and returns paginated thread listings. Each thread object includes thread_id, thread_slug, title, author, replies, views, and url. The page parameter controls pagination across all listing endpoints.
Reading Threads and Searching
get_thread requires three parameters — thread_id, thread_slug, and category_slug — and returns an array of posts, each with post_id, author, content, and date, plus the thread's title. This makes it straightforward to reconstruct full discussion threads for analysis. The search_forum endpoint accepts a query string and an optional showposts flag: set it to 0 to match threads, or 1 to search individual posts. Results include category_slug, thread_id, thread_slug, title, and a search_id that identifies the search session.
News, Hot Threads, and Profiles
get_news_listing returns paginated automotive news articles with title, url, summary, and date. get_hot_threads returns Team-BHP's curated popular discussions list — no parameters required — as an array of objects with title and url. get_user_profile accepts a username and returns public member data including join date and total post count.
The Team-BHP API is a managed, monitored endpoint for team-bhp.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when team-bhp.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 team-bhp.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 Team-BHP ownership reports and long-term reviews by category slug for a car research tool.
- Build a dataset of Indian automotive forum discussions using
get_threadpost content and dates for NLP or sentiment analysis. - Track trending vehicles by monitoring
get_hot_threadstitle changes over time. - Index Team-BHP news articles via
get_news_listingto power an automotive news aggregator for the Indian market. - Reconstruct full member discussion histories by combining
get_user_profilepost counts withsearch_forumauthor queries. - Map forum category activity by comparing
threads_countacross slugs returned byget_forum_index. - Power a travelogue discovery feature by querying the
traveloguescategory slug throughget_forum_category.
| 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 Team-BHP have an official developer API?+
What does `search_forum` return, and how does the `showposts` parameter change results?+
showposts set to 0, results are matched at the thread level and each result includes thread_id, thread_slug, title, category_slug, and url. Setting showposts to 1 searches individual posts within threads. Both modes return a search_id string that identifies the session, which can be useful for paginating through result sets.Does the API expose private messages, member reputation scores, or attachment files from posts?+
Is there a limitation on how deep pagination goes for thread or category listings?+
page parameter is available on get_forum_category, get_thread, search_forum, and get_news_listing, but extremely high page numbers on large threads or categories may return empty result arrays if the requested page exceeds the available content. Always check whether the returned posts or threads array is non-empty before incrementing the page counter.Can I retrieve the full list of registered users or a member's post history directly?+
get_user_profile returns public profile metadata for a known username. You can fork this API on Parse and revise it to add a post-history endpoint if that data is available on the member's public profile page.