MedPlus Mart APImedplusmart.com ↗
Search medicines by name or location, get detailed product data, and list pharmacy categories from MedPlus Mart via a structured REST API.
What is the MedPlus Mart API?
The MedPlus Mart API provides 4 endpoints to query the MedPlus online pharmacy catalog, covering medicine search, location-aware availability, full product details, and category listings. The search_medicines endpoint returns up to 30 results per page including MRP, discount, pack size, manufacturer, and composition. The get_product_details endpoint adds prescription requirements, side effects, uses, and product images for any product ID.
curl -X GET 'https://api.parse.bot/scraper/8285ba5b-0a0a-4525-8706-4fed1d6fc5cc/search_medicines?page=1&query=paracetamol' \ -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 medplusmart-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: MedPlus Mart SDK — search medicines, check local availability, view details."""
from parse_apis.medplusmart_com_api import MedPlusMart, ProductNotFound
client = MedPlusMart()
# Search for medicines by name; limit caps total items fetched across pages.
for item in client.product_summaries.search(query="paracetamol", limit=5):
print(item.product_name, item.mrp, item.is_in_stock)
# Search with location context to check availability in a specific city.
hit = client.product_summaries.search_by_location(
query="dolo 650", location="Mumbai", limit=1
).first()
# Drill into the first hit for full product details.
if hit is not None:
product = hit.details()
print(product.product_name, product.composition)
print("Regular price:", product.regular_price, "| Membership:", product.membership_price)
print("Prescription required:", product.is_prescription_required)
# Point lookup by a known product ID (obtained from search above).
try:
detail = client.products.get(product_id="DOLO0023")
print(detail.description[:120])
except ProductNotFound:
print("Product not found")
# Browse top-level categories.
for cat in client.categories.list(limit=3):
print(cat.category_name, cat.sub_categories[0].category_name if cat.sub_categories else "")
print("exercised: product_summaries.search / search_by_location / details / products.get / categories.list")
Search medicines and general products by name. Returns paginated results with product name, price, discount, availability, pack size, manufacturer, composition, and URLs. Each page returns up to 30 results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, starting from 1. |
| queryrequired | string | Search term for medicine or product name (e.g. 'dolo 650', 'paracetamol'). |
{
"type": "object",
"fields": {
"page": "Current page number",
"query": "The search term used",
"products": "Array of matching products with product_id, product_name, mrp, discount_str, is_in_stock, pack_size, manufacturer, composition, image_url, product_url",
"total_results": "Number of products returned on this page"
},
"sample": {
"data": {
"page": 1,
"query": "dolo 650",
"products": [
{
"mrp": 32.28,
"image_url": "https://static2.medplusmart.com/products/_0911cd7_/DOLO0023_S.jpg",
"pack_size": 15,
"product_id": "DOLO0023",
"composition": "Paracetamol 650 MG",
"is_in_stock": true,
"product_url": "https://www.medplusmart.com/product/dolo-650mg-tab_dolo0023",
"discount_str": "Save upto 15%",
"manufacturer": "MICRO LABS LIMITED",
"product_name": "DOLO 650MG TAB",
"discount_percentage": null
}
],
"total_results": 2
},
"status": "success"
}
}About the MedPlus Mart API
Searching the Medicine Catalog
The search_medicines endpoint accepts a query string (e.g. 'dolo 650' or 'paracetamol') and an optional page integer for pagination. Each page returns up to 30 products with fields including product_id, product_name, mrp, discount_str, is_in_stock, pack_size, manufacturer, and composition. The product_id values returned here are the input to get_product_details for deeper lookups.
Location-Aware Search
The search_medicines_by_location endpoint extends the standard search with a required location parameter accepting either a city name (e.g. 'Mumbai') or a pincode (e.g. '400070'). The API resolves the input to a MedPlus delivery area and returns city, pincode, and location_resolved fields alongside the standard product array. This lets you check stock and pricing specific to a delivery zone rather than a generic national result.
Full Product Details
Given a product_id, get_product_details returns the complete product record: mrp, composition, pack_size, manufacturer, description (uses and benefits), side_effects, prescription requirement status, an images array of photo URLs, and a product_url linking to the MedPlus product page. Pricing fields include both regular and membership price tiers.
Category Browsing
The get_categories endpoint requires no parameters and returns a flat list of all top-level MedPlus product categories. Each category object includes category_id, category_name, slug, image_url, url, and a nested sub_categories array. The total field gives the count of top-level categories in a single call.
The MedPlus Mart API is a managed, monitored endpoint for medplusmart.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when medplusmart.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 medplusmart.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?+
- Compare MRP and discount across multiple brands for a given active ingredient using
compositionandmrpfields. - Check medicine availability in a specific pincode before directing users to place an order, using
search_medicines_by_location. - Build a medicine information page using
description,side_effects, andcompositionfromget_product_details. - Display prescription-required flags alongside product listings to warn users before checkout.
- Map the full MedPlus category tree via
get_categoriesto build a pharmacy browsing interface. - Monitor price changes for a set of product IDs by polling
get_product_detailson a schedule. - Resolve a user-supplied city name to a canonical delivery pincode using the
location_resolvedfield.
| 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 MedPlus Mart have an official developer API?+
What does `get_product_details` return beyond what search results include?+
get_product_details adds several fields not present in search results: description (product uses and benefits), side_effects, prescription requirement status, membership price alongside regular price, and an images array of photo URLs. Search results include mrp, discount_str, is_in_stock, and composition, but not those extended fields.Does the location-based search cover all pincodes in India?+
Does the API return user reviews or ratings for products?+
Is there a way to filter search results by manufacturer or prescription status directly?+
search_medicines and search_medicines_by_location endpoints accept only query, location, and page as inputs. Filtering by manufacturer or prescription status requires retrieving results and applying logic client-side. You can fork this API on Parse and revise it to add server-side filter parameters.