Public recall lookup
Has this batch been recalled? No credentials needed.
Look up a batch
https://api.dawatrack.com/partner-api/v1/recall-lookup/{gtin}/{batch_number}/
Has this batch been recalled? The one endpoint that needs no credentials.
Matches the GTIN and batch number together, because different manufacturers can use the same batch number. Never includes facility data.
recalled is true for closed recalls too. To block a sale, check for a recall with status OPEN.
For a till checking every sale, subscribe to recall webhooks and keep a local list of open recalls instead of calling this per sale.
Path parameters
-
batch_numberstring Required -
gtinstring Required
Example request
curl -X GET https://api.dawatrack.com/partner-api/v1/recall-lookup/06164004321562/BTH-2026-041/
import requests
response = requests.get(
"https://api.dawatrack.com/partner-api/v1/recall-lookup/06164004321562/BTH-2026-041/",
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.dawatrack.com/partner-api/v1/recall-lookup/06164004321562/BTH-2026-041/", {
method: "GET",
});
console.log(await response.json());
Response fields
-
supplier_namestringWho issued it: the supplier, the regulator or the manufacturer.
-
medicine_namestringThe product's name.
-
gtinstringThe product's GS1 GTIN, as 14 digits.
-
batch_numberstringThe batch or lot number.
-
all_batch_numbersarray of strings Read-onlyEvery batch number this recall covers - the queried batch may be any of these, not just the primary batch_number above.
-
statusstring -
severity_classstring -
severity_class_displaystringThe severity class, in words.
-
reason_displaystringThe recall reason, in words.
-
instructionsstringWhat facilities should do.
-
initiated_atdatetimeWhen the recall was opened.
-
closed_atdatetime or nullWhen the recall was closed, if it is closed.
Example response
{
"batch_number": "BTH-2026-041",
"recalled": true,
"recalls": [
{
"supplier_name": "Example Pharmaceuticals Ltd",
"medicine_name": "Amoxicillin 500 mg capsules",
"gtin": "06164004321562",
"batch_number": "BTH-2026-041",
"all_batch_numbers": [
"BTH-2026-041"
],
"status": "OPEN",
"severity_class": "CLASS_II",
"severity_class_display": "Class II",
"reason_display": "Contamination",
"instructions": "Quarantine the batch and await collection instructions.",
"initiated_at": "2026-10-05T09:00:00Z",
"closed_at": null
}
]
}
Status codes
200 | OK |
400 | The request is invalid, for example a malformed GTIN or a missing field |
429 | Rate limit exceeded |
Partner API v1. The API reference is generated from the API's own code.