Netmeds APInetmeds.com ↗
Search Netmeds for medicines and health products with location-aware pricing and availability. Returns pack size, manufacturer, Rx status, and more.
What is the Netmeds API?
The Netmeds API gives developers access to India's online pharmacy catalog through 1 endpoint returning up to 20 products per search, with fields covering price, availability, prescription status, manufacturer, and pack size. The search_medicines endpoint accepts a medicine name or keyword alongside an Indian PIN code or city name, so results reflect actual delivery availability and pricing for a given location.
curl -X GET 'https://api.parse.bot/scraper/050b1fa4-1e5c-467c-9aa6-ed92127956b6/search_medicines?query=paracetamol&location=110001' \ -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 netmeds-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: Netmeds SDK — search medicines with location-aware pricing."""
from parse_apis.netmeds_com_api import Netmeds, InputFormatInvalid
client = Netmeds()
# Search for a common medicine in Mumbai, capped to 5 results.
for medicine in client.medicines.search(query="crocin", location="Mumbai", limit=5):
print(f"{medicine.name} — ₹{medicine.price} (MRP ₹{medicine.mrp}, {medicine.discount_percentage}% off)")
print(f" Manufacturer: {medicine.manufacturer} | Pack: {medicine.pack_size}")
print(f" Available: {medicine.available} | Rx required: {medicine.prescription_required}")
# Drill-down: grab the first result for a different query and inspect its details.
hit = client.medicines.search(query="vitamin d", location="110001", limit=1).first()
if hit is not None:
print(f"\nProduct: {hit.name} (ID {hit.product_id})")
print(f" URL: {hit.product_url}")
print(f" Images: {len(hit.images)}")
# Demonstrate error handling for invalid input.
try:
client.medicines.search(query="", location="110001", limit=1).first()
except InputFormatInvalid:
print("\nCaught expected error: empty query is invalid.")
print("\nexercised: medicines.search / InputFormatInvalid")
Search for medicines and health products by name or keyword, scoped to a delivery location. Returns up to 20 results per call sorted by popularity, including pricing, availability, manufacturer, pack size, prescription status, images, and product URLs. Results reflect location-specific availability and pricing.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Medicine name or search keyword (e.g. 'paracetamol', 'crocin', 'vitamin d'). |
| locationrequired | string | Delivery location as a 6-digit Indian PIN code (e.g. '110001') or city name (e.g. 'Mumbai'). |
{
"type": "object",
"fields": {
"query": "The search query that was used",
"results": "Array of medicine/product result objects",
"location": "The location value that was used",
"total_results": "Total number of matching products available on the platform"
},
"sample": {
"data": {
"query": "paracetamol",
"results": [
{
"mrp": 9.65,
"sku": "813383",
"name": "Paracetamol 500mg Tablet 10'S",
"price": 6.76,
"images": [
"https://cdn.pixelbin.io/v2/plain-cake-860195/netmed/wrkr/products/assets/item/free/original/m5BIihofaE-paracetamol_500mg_tablet_10s_876529_0_2.jpg"
],
"available": true,
"pack_size": "10 Tablet(s) in a Strip",
"product_id": 8520913,
"description": "Buy Paracetamol 500mg Tablet 10'S online for best price in India.",
"product_url": "https://www.netmeds.com/product/paracetamol-500mg-tablet-10s-m1v2mv-8520913",
"manufacturer": "Cipla Ltd (Generics)",
"discount_percentage": 30,
"prescription_required": false
}
],
"location": "110001",
"total_results": 1052
},
"status": "success"
}
}About the Netmeds API
What the API Returns
The search_medicines endpoint accepts two required parameters: query (a medicine name or keyword such as 'paracetamol' or 'vitamin d') and location (a 6-digit Indian PIN code like '110001' or a city name like 'Mumbai'). The response includes a results array of up to 20 product objects sorted by popularity, a total_results count indicating how many matching products exist on the platform, and an echo of the query and location values used.
Product-Level Fields
Each item in the results array carries pricing, availability status, manufacturer name, pack size, prescription requirement flag, product images, and a direct product URL on Netmeds. The prescription status field is useful for separating over-the-counter items from Rx-only medications without an additional lookup.
Location Scope
Results are location-scoped: the same query for 'amoxicillin' may return different availability or pricing in 'Mumbai' versus '560001' (Bengaluru). This makes the API suitable for building tools that need to surface only deliverable items for a specific geography rather than a flat national catalog view.
The Netmeds API is a managed, monitored endpoint for netmeds.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when netmeds.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 netmeds.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?+
- Check whether a specific medicine is deliverable to a given PIN code before surfacing it in an app
- Compare pricing for a generic drug across multiple Indian cities using repeated location-parameterised calls
- Filter search results by prescription status to separate OTC products from Rx-only medicines
- Build a formulary tool that surfaces manufacturer name and pack size for pharmacy procurement comparisons
- Aggregate total_results counts across queries to estimate category depth on the Netmeds platform
- Populate autocomplete suggestions for medicine names paired with real-time availability signals
- Monitor price changes for a drug SKU over time by logging results from scheduled calls
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Netmeds offer an official developer API?+
What does the `location` parameter actually change in the response?+
Does the API return product reviews or customer ratings?+
search_medicines endpoint returns pricing, availability, manufacturer, pack size, prescription status, images, and product URLs. You can fork this API on Parse and revise it to add an endpoint that retrieves reviews or ratings for a specific product page.Can I retrieve more than 20 results or paginate through the full catalog?+
total_results field showing how many matching products exist. Pagination across the full result set is not currently supported. You can fork this API on Parse and revise it to add offset or page-based pagination parameters.