# 2s Drug Status API

> 2s Drug Status API is a paid API for AI agents from 2s.io, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-12).

Looks up FDA drug recall status, current shortage status, and NDC/RxNorm identifiers for a given drug by name, NDC, or RxCUI.

## Facts

- Endpoint: GET https://2s.io/api/medical/drug-status?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-drug-status-api-514c3705
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ool3KHpLIExh9oMDg2xRt

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-drug-status-api-514c3705
```

Example prompt: Can you check whether amoxicillin has any open FDA recalls or current drug shortages right now?

## When to prefer this

Use this endpoint when you need authoritative, real-time FDA drug recall and shortage data combined with RxNorm resolution in a single call, especially for patient safety checks, pharmacy automation, or healthcare compliance workflows. Prefer over manual FDA website lookups or separate RxNorm API calls.

## Known failure modes

- Drug name not recognized by RxNorm: resolved field may be null or low matchScore
- Invalid NDC format: ndc.found returns false
- No data available for obscure/investigational drugs
- Upstream NIH or FDA service unavailability causes errors in individual source fields
- limit parameter out of range (1-50) returns validation error

## How this service works

One-call drug situational awareness. Give a drug name (resolved to a canonical RxCUI via NIH RxNorm), or an exact rxcui or ndc you already hold, and get back: whether it is currently in FDA shortage, any open or recent FDA recalls, and FDA NDC-directory metadata (labeler, DEA schedule, pharmaceutical class, marketing status). Returns a resolved identity block plus hasCurrentShortage / hasOpenRecall booleans and one found/error block per source (shortages, ndc, recalls). Composition of NIH RxNorm + OpenFDA drug-shortages, NDC directory, and recall enforcement — all free, public-domain US government data; each source degrades independently. Point-in-time public records, not medical advice. Use for pharmacy/supply-chain triage, prescribing-support agents, and verifying a drug is real, scheduled, and available before acting.

## Output

Returns a JSON object with: resolved drug name and RxCUI from RxNorm, boolean flags for hasOpenRecall and hasCurrentShortage, a list of active recalls with details, a list of current shortages, NDC product records with count, and an array of data source providers — all in one response.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "properties": {
      "ndc": {
       "type": "string",
       "description": "Exact NDC (product or package), if already known."
      },
      "drug": {
       "type": "string",
       "description": "Free-text drug name, resolved via RxNorm (e.g. \"amoxicillin\")."
      },
      "limit": {
       "type": "integer",
       "default": 10,
       "maximum": 50,
       "minimum": 1,
       "description": "Max records per source."
      },
      "rxcui": {
       "type": "string",
       "description": "Exact RxNorm RxCUI, if already known."
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "properties": {
   "ndc": {
    "type": "object",
    "properties": {
     "data": {
      "type": "object",
      "properties": {
       "returned": {
        "type": "integer"
       },
       "totalCount": {
        "type": "integer"
       }
      }
     },
     "error": {},
     "found": {
      "type": "boolean"
     }
    }
   },
   "query": {
    "type": "object",
    "properties": {
     "ndc": {},
     "drug": {
      "type": "string"
     },
     "rxcui": {}
    }
   },
   "recalls": {
    "type": "object",
    "properties": {
     "data": {
      "type": "object",
      "properties": {
       "recalls": {
        "type": "array",
        "items": {}
       },
       "returned": {
        "type": "integer"
       },
       "totalCount": {
        "type": "integer"
       }
      }
     },
     "error": {},
     "found": {
      "type": "boolean"
     }
    }
   },
   "sources": {
    "type": "array",
    "items": {
     "type": "object",
     "properties": {
      "provider": {
       "type": "string"
      }
     }
    }
   },
   "resolved": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string"
     },
     "rxcui": {
      "type": "string"
     },
     "termType": {},
     "matchScore": {
      "type": "integer"
     }
    }
   },
   "shortages": {
    "type": "object",
    "properties": {
     "data": {
      "type": "object",
      "properties": {
       "returned": {
        "type": "integer"
       },
       "shortages": {
        "type": "array",
        "items": {}
       },
       "totalCount": {
        "type": "integer"
       }
      }
     },
     "error": {},
     "found": {
      "type": "boolean"
     }
    }
   },
   "hasOpenRecall": {
    "type": "boolean"
   },
   "hasCurrentShortage": {
    "type": "boolean"
   }
  }
 },
 "example": {
  "ndc": {
   "data": {
    "returned": 5,
    "totalCount": 1200
   },
   "error": null,
   "found": true
  },
  "query": {
   "ndc": null,
   "drug": "amoxicillin",
   "rxcui": null
  },
  "recalls": {
   "data": {
    "recalls": [],
    "returned": 0,
    "totalCount": 0
   },
   "error": null,
   "found": true
  },
  "sources": [
   {
    "provider": "NIH National Library of Medicine RxNorm (RxNav)"
   }
  ],
  "resolved": {
   "name": "amoxicillin",
   "rxcui": "723",
   "termType": null,
   "matchScore": 100
  },
  "shortages": {
   "data": {
    "returned": 0,
    "shortages": [],
    "totalCount": 0
   },
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-drug-status-api-514c3705/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
