TradeIndia APItradeindia.com ↗
Access TradeIndia B2B data via API: search products and suppliers, extract contact details, and explore tradeshows with dates, venues, and organizer info.
What is the TradeIndia API?
The TradeIndia API covers 6 endpoints for querying India's B2B marketplace — returning product listings, supplier contact details, tradeshow schedules, and related category suggestions. The search_products endpoint alone surfaces fields like product_name, price, co_name, city, and product_image across paginated results, while get_supplier_contact retrieves phone numbers and email addresses tied to any profile_id from those results.
curl -X GET 'https://api.parse.bot/scraper/b0b4ad02-12bb-4cc7-b933-67fb29edc831/search_products?page=1&limit=28&query=safety+shoes' \ -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 tradeindia-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.
"""TradeIndia SDK — search products, get supplier contacts, discover tradeshows."""
from parse_apis.tradeindia_api import TradeIndia, SupplierNotFound, TradeshowNotFound
client = TradeIndia()
# Search for products and inspect top results
for product in client.products.search(query="safety shoes", limit=3):
print(product.product_name, product.price, product.city)
# Drill into a single product's supplier contact
product = client.products.search(query="textile machinery", limit=1).first()
if product:
contact = client.supplier(profile_id=product.profile_id).contact.get()
print(contact.default_email, contact.default_mobile, contact.ifpaid)
# Search tradeshows and get full details for the first result
show = client.tradeshowsummaries.search(query="pharma", limit=1).first()
if show:
detail = show.details()
print(detail.fair_name, detail.s_date, detail.e_date, detail.organizer_name)
# Discover related categories for a keyword
for cat in client.categories.search(query="safety shoes", limit=5):
print(cat.keyword, cat.count)
# Browse top tradeshow cities
for city in client.tradeshowcities.list(limit=5):
print(city.city_name, city.fair_count)
# Typed error handling for an invalid tradeshow lookup
try:
client.tradeshows.get(fair_id="999999999")
except TradeshowNotFound as exc:
print(f"Tradeshow not found: {exc}")
print("exercised: products.search / supplier.contact.get / tradeshowsummaries.search / details / categories.search / tradeshowcities.list / tradeshows.get")Full-text search over TradeIndia product listings by keyword. Returns paginated product results with supplier details, pricing, stock status, and business type. Each result carries a profile_id usable to fetch the supplier's contact details. Pagination metadata (total_pages, has_next) is included but page advancement is manual via the page parameter. The upstream API requires limit to be greater than 10.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to retrieve |
| limit | integer | Number of results per page. Must be greater than 10. |
| queryrequired | string | Product keyword to search for (e.g. 'safety shoes', 'textile machinery') |
{
"type": "object",
"fields": {
"city_chips": "array of city filter suggestions with city, state, city_id",
"pagination": "object with total_pages, has_next, has_prev, current_page, last_page_no",
"listing_data": "array of product objects with product_name, price, co_name, city, profile_id, product_image, made_in_india, moq, in_stock, business_type",
"listing_count": "integer, total number of matching products"
},
"sample": {
"data": {
"city_chips": [
{
"city": "Bengaluru",
"state": "Karnataka",
"city_id": 183339,
"city_url": "/search.html?keyword=safety+shoes&city=bengaluru",
"country_code": "IN"
}
],
"pagination": {
"has_next": true,
"has_prev": false,
"total_pages": 188,
"current_page": 1,
"last_page_no": 188
},
"listing_data": [
{
"moq": 100,
"city": "Bengaluru",
"price": "120 INR (Approx.)",
"state": "Karnataka",
"ifpaid": true,
"co_name": "SMT CONVEYORS AND AUTOMATIONS",
"in_stock": true,
"product_id": 9933754,
"profile_id": 41039615,
"member_since": 3,
"product_name": "ESD Safety Shoes",
"business_type": "Manufacturer | Distributor",
"made_in_india": true,
"product_image": "https://cpimg.tistatic.com/09933754/b/4/ESD-Safety-Shoes..jpg"
}
],
"listing_count": 5258
},
"status": "success"
}
}About the TradeIndia API
Product and Supplier Data
The search_products endpoint accepts a required query string (e.g. 'safety shoes', 'textile machinery') plus optional page and limit parameters. Note that limit must be greater than 10. Each result in the listing_data array includes product_name, price, co_name, city, profile_id, and product_image. The profile_id from these results feeds directly into get_supplier_contact, which returns default_email, default_mobile, number_mask (whether the number is partially hidden), and ifpaid (whether the supplier holds a paid membership).
Tradeshow Discovery
The search_tradeshows endpoint searches fairs and expos by keyword — useful for terms like 'india', '2026', or an industry name. Results include fair_id, fair_date, venue, city, country_name, website, and categories. Passing a fair_id to get_tradeshow_details returns the full event record: s_date and e_date in YYYY-MM-DD format, fair_venue, organizer_name, organizer_website, and a fair_description text field. The get_tradeshow_cities endpoint lists cities ranked by fair count, returning city_name, city_id, city_img, and fair_count, along with city_filter and category_filter arrays for building UI filters.
Category Suggestions
The get_categories endpoint takes any search term and returns an array of related keywords, each with a keyword, a count of matching listings, and a link. This is useful for autocomplete, query expansion, or understanding what product segments are active on the platform.
The TradeIndia API is a managed, monitored endpoint for tradeindia.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tradeindia.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 tradeindia.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 supplier discovery tool that queries
search_productsand surfacesco_name,city, and pricing across Indian B2B vendors - Automate sourcing lead generation by chaining
search_productsandget_supplier_contactto collectdefault_emailanddefault_mobilefor matching suppliers - Aggregate upcoming trade fair calendars using
search_tradeshowsfiltered by year or industry keyword - Enrich event listings with organizer details, venue, and description via
get_tradeshow_detailsusingfair_idvalues - Map tradeshow activity by city using
get_tradeshow_citiesdata includingfair_countandcity_imgfor geographic dashboards - Power search autocomplete or keyword expansion with
get_categoriesto surface related product segments and listing counts - Filter and segment suppliers by paid membership status using the
ifpaidfield fromget_supplier_contact
| 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 TradeIndia offer an official developer API?+
What does `get_supplier_contact` actually return, and when is the phone number masked?+
default_mobile, default_email, number_mask, and ifpaid. The number_mask boolean indicates whether the phone number is partially obscured — this typically corresponds to free or unverified supplier accounts. The ifpaid field tells you whether the supplier holds a paid membership on TradeIndia.Is there a minimum value for the `limit` parameter in search endpoints?+
search_products and search_tradeshows require limit to be greater than 10. Requests with a limit of 10 or fewer will not return results. Use page alongside limit for paginated retrieval.Does the API return supplier reviews or ratings?+
Can I retrieve a full list of product categories or browse by category ID rather than keyword?+
get_categories endpoint does return related keywords and counts for a given search term, and get_tradeshow_cities includes a category_filter array for tradeshow categories. For full product category tree navigation, you can fork the API on Parse and revise to add the missing endpoint.