Apollo247 APIapollo247.com ↗
Access Apollo 24|7 pharmacy data via API: search medicines, get drug details, find lab tests, locate nearby stores, and list medical specialties.
What is the Apollo247 API?
The Apollo 24|7 API covers 6 endpoints across pharmacy, diagnostics, store locator, and medical specialties on the Apollo 24|7 platform. Use search_medicines to query products by keyword and retrieve pricing, discount percentages, and SKU codes, or call get_medicine_details with a SKU to pull composition, side effects, drug interactions, and FAQs for a specific product. Lab test search, popular tests by city, nearby store lookup, and specialty listing round out the surface.
curl -X POST 'https://api.parse.bot/scraper/1247278f-f0cb-47c1-9f77-2f1fd0c3eccc/search_medicines' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "1",
"query": "paracetamol"
}'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 apollo247-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.
from parse_apis.apollo_24_7_api import Apollo, MedicineSummary, Medicine, LabTest, PopularLabTest, Store, Specialty, City
apollo = Apollo()
# Search for medicines and get details for first result
for med in apollo.medicinesummaries.search(query="paracetamol", limit=3):
print(med.name, med.price, med.unit_size, med.brand)
# Navigate from summary to full detail
first_med = apollo.medicinesummaries.search(query="dolo", limit=1)
for summary in first_med:
detail = summary.details()
print(detail.name, detail.manufacturer, detail.pack_size, detail.product_form)
# Get popular lab tests for Delhi using the City enum
for test in apollo.popularlabtests.list(city=City.DELHI_NCR):
print(test.diagnostic_item_name, test.diagnostic_item_gender, test.diagnostic_inclusions)
# Search for lab tests
for lab in apollo.labtests.search(query="thyroid"):
print(lab.diagnostic_item_name, lab.diagnostic_item_item_type, lab.test_parameters_count)
# Find nearby stores in Bangalore
for store in apollo.stores.nearby(lat="12.9716", lng="77.5946"):
print(store.name, store.distance, store.is_open)
# List doctor specialties
for spec in apollo.specialties.list(limit=5):
print(spec.name, spec.specialist_singular_term, spec.short_description)
Search for medicines and health products by name or keyword. Returns product listings with pricing, availability, delivery information, and search suggestions. Paginates via page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search term for the product (e.g. 'paracetamol', 'dolo', 'vitamin d'). |
{
"type": "object",
"fields": {
"products": "array of product objects with id, sku, name, price, specialPrice, discountPercentage, status, unitSize, brand, manufacturer, deliveryTime, and other details",
"totalProducts": "integer count of products returned on this page",
"matchingProducts": "array of search suggestions and category matches"
},
"sample": {
"data": {
"products": [
{
"id": 48741,
"sku": "CRO0091",
"name": "Crocin Advance Tablet 20's",
"brand": "CROCIN",
"price": 19,
"status": "in-stock",
"unitSize": "20 Tablet",
"deliveryTime": "Tom. 09:01 AM",
"specialPrice": 19,
"discountPercentage": 0
}
],
"totalProducts": 20,
"matchingProducts": [
{
"name": "paracetamol baby",
"type": "suggestion"
}
]
},
"status": "success"
}
}About the Apollo247 API
Medicines
search_medicines accepts a keyword string (e.g. 'paracetamol', 'vitamin d') and an optional page integer for pagination. Each result object in the products array includes id, sku, name, price, specialPrice, discountPercentage, status, unitSize, brand, and manufacturer. The matchingProducts field returns search suggestions and category matches alongside the main results, making it useful for autocomplete or browse flows. The sku from any result feeds directly into get_medicine_details.
get_medicine_details takes a single uppercase alphanumeric SKU (e.g. 'DOL0026') and returns the full productDetails object: composition, intended uses, side effects, a faqs array, a PharmaOverview block with doctor-facing summaries, drug interactions, and safety advice. This is the deepest data shape in the API and the right endpoint when you need clinical-context fields rather than just price and availability.
Lab Tests and Diagnostics
search_lab_tests accepts a query string and returns an items array where each entry includes diagnostic_item_id, diagnostic_item_name, diagnostic_item_alias, diagnostic_item_price (as an array to reflect city-level pricing variants), inclusion counts, and test parameter counts. Results are scoped to Delhi/NCR by default. get_popular_lab_tests takes an optional city integer and returns a data array of commonly booked tests with names, IDs, aliases, gender suitability, and test parameters, plus a success boolean and a status msg.
Store Locator and Specialties
get_nearby_stores accepts lat and lng strings and returns a stores array where each object contains the store name, a structured address with location string and coordinates, timings, contact, distance from the query point, and an isOpen boolean. list_doctor_specialties requires no inputs and returns a data array of specialty objects with id, name, image URL, specialistSingularTerm, specialistPluralTerm, userFriendlyNomenclature, and display metadata — covering all consultation specialties active on the platform.
The Apollo247 API is a managed, monitored endpoint for apollo247.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when apollo247.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 apollo247.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 medicine price-comparison tool using
price,specialPrice, anddiscountPercentagefromsearch_medicines. - Display drug interaction warnings and side-effect summaries in a patient app using
get_medicine_detailsPharmaOverview fields. - Auto-suggest medicine names as users type using the
matchingProductsarray fromsearch_medicines. - Show patients the nearest open Apollo Pharmacy branch using
isOpen,distance, andtimingsfromget_nearby_stores. - Let users compare lab test pricing across diagnostic packages using
diagnostic_item_pricefromsearch_lab_tests. - Populate a city-specific 'popular tests' widget using
get_popular_lab_testswith acityID. - Render a doctor-specialty directory or symptom-to-specialist mapper using fields from
list_doctor_specialties.
| 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 Apollo 24|7 have an official public developer API?+
What does get_medicine_details return beyond basic pricing?+
productDetails object that includes composition, uses, side effects, a faqs array, drug interactions, safety advice, and a PharmaOverview block with clinical summaries. The SKU input must be in uppercase alphanumeric format and is obtainable from search_medicines results.Is lab test pricing available for cities outside Delhi/NCR?+
search_lab_tests returns results scoped to Delhi/NCR by default. get_popular_lab_tests accepts a city integer parameter, but city-specific pricing coverage in search_lab_tests is not currently configurable. You can fork this API on Parse and revise it to add a city parameter to the search endpoint.Does the API cover doctor profiles or appointment booking?+
How does pagination work in search_medicines?+
page parameter to step through result pages. The response includes totalProducts as an integer count of products on the current page — note this reflects the page count, not the global total, so you increment page until the returned array is empty or totalProducts drops to zero.