Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/aristocles-com-au:aristocles-com-au-drug-shortages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Aristocles Data Drug Shortages API
description: 'Four Australian data APIs on one key — subscriptions, trade pricing, PBS drugs, and rental prices.
---
## Quick start
**1. Get your API key** — register in one request:
```
POST /v1/auth/register
{"email": "you@example.com", "name": "Your Name"}
```
Copy the `api_key` from the response.
**2. Authenticate** — add your key to every request as a header:
```
X-API-Key: ar_live_xxxxxxxxxxxx
```
**3. Run the discovery endpoint** — returns all available slugs, example calls, and your account limits:
```
GET /v1/discovery
```
**4. Make your first call:**
```
GET /v1/prices/netflix?country=AU
GET /v1/trades/electrician/prices?state=NSW&country=AU
GET /v1/pbs/metformin
GET /v1/rental/VIC/Richmond
```
---
## Four data domains
| Domain | Base path | What it covers |
|---|---|---|
| **Subscription Pricing** | `/v1/prices`, `/v1/services` | 50+ SaaS & streaming services: Netflix, Spotify, Adobe, etc. |
| **Contractor Trades** | `/v1/trades` | Plumbers, electricians, painters across AU, US, UK, CA, NZ |
| **PBS Drug Pricing** | `/v1/pbs` | 14,000+ medications on Australia''s Pharmaceutical Benefits Scheme |
| **Rental Market** | `/v1/rental` | Median weekly rent by suburb and postcode across Australia |
| **RBA Economic Data** | `/v1/rba` | Cash rate, AUD FX rates, CPI inflation, mortgage rates, credit aggregates |
---
## MCP Server
All four data domains are also available as MCP tools at:
```
https://api.aristocles.com.au/mcp/
```
Connect any MCP-compatible AI agent (Claude, GPT, Gemini) to get structured data without writing API calls.'
version: 2.1.0
tags:
- name: Drug Shortages
description: 'Records of drug shortages reported to the US Food and Drug Administration, including the generic drug name, manufacturer, dosage form, presentation, shortage status, availability notes and reason for the shortage. Pharmacies, health-tech startups, supply-chain analysts and clinical AI agents use it to flag unavailable medicines and suggest alternatives. Source: Data from openFDA, U.S. Food and Drug Administration. FDA does not endorse this product.. Licence: CC0 1.0 (US Government public domain). Base path: /v1/data/united-states-drug-shortages. Requires an API key (X-API-Key).'
paths:
/v1/data/united-states-drug-shortages:
get:
tags:
- Drug Shortages
summary: List United States Drug Shortages records
description: 'List United States Drug Shortages records with optional filters and pagination.
**Source:** Data from openFDA, U.S. Food and Drug Administration. FDA does not endorse this product. (CC0 1.0 (US Government public domain)).
**Fields returned:**
- `package_ndc` (str) — National Drug Code of the affected package
- `generic_name` (str) — Generic (non-proprietary) drug name
- `proprietary_name` (str) — Brand name, if any
- `company_name` (str) — Manufacturer or labeler
- `dosage_form` (str) — Dosage form, e.g. Injection, Tablet
- `presentation` (str) — Package presentation and strength description
- `status` (str) — Shortage status, e.g. Current, Resolved, To Be Discontinued
- `availability` (str) — Availability notes from the manufacturer
- `shortage_reason` (str) — Reason given for the shortage
- `related_info` (str) — Additional related information
- `initial_posting_date` (str) — Date the shortage was first posted (MM/DD/YYYY)
- `update_date` (str) — Date of the latest update (MM/DD/YYYY)
**Example:** `GET /v1/data/united-states-drug-shortages?limit=10&status=example`'
operationId: list_endpoint_v1_data_united_states_drug_shortages_get
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Max records to return (1-100).
default: 25
title: Limit
description: Max records to return (1-100).
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: Records to skip, for pagination.
default: 0
title: Offset
description: Records to skip, for pagination.
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Shortage status, e.g. Current, Resolved, To Be Discontinued
examples:
- example
title: Status
description: Shortage status, e.g. Current, Resolved, To Be Discontinued
- name: dosage_form
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Dosage form, e.g. Injection, Tablet
examples:
- example
title: Dosage Form
description: Dosage form, e.g. Injection, Tablet
- name: company_name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Manufacturer or labeler
examples:
- example
title: Company Name
description: Manufacturer or labeler
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
responses:
'200':
description: A page of United States Drug Shortages records with pagination metadata.
content:
application/json:
schema: {}
example:
data:
items:
- package_ndc: example
generic_name: example
proprietary_name: example
company_name: example
dosage_form: example
presentation: example
status: example
availability: example
shortage_reason: example
related_info: example
initial_posting_date: example
update_date: example
total: 1
limit: 25
offset: 0
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/data/united-states-drug-shortages/search:
get:
tags:
- Drug Shortages
summary: Search United States Drug Shortages by generic_name
description: 'Search United States Drug Shortages records by `generic_name` (partial, case-insensitive).
**Example:** `GET /v1/data/united-states-drug-shortages/search?q=exa`'
operationId: search_endpoint_v1_data_united_states_drug_shortages_search_get
parameters:
- name: q
in: query
required: true
schema:
type: string
minLength: 2
maxLength: 100
description: Case-insensitive partial match on generic_name.
examples:
- exa
title: Q
description: Case-insensitive partial match on generic_name.
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Max records to return (1-100).
default: 25
title: Limit
description: Max records to return (1-100).
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
responses:
'200':
description: Matching United States Drug Shortages records.
content:
application/json:
schema: {}
example:
data:
items:
- package_ndc: example
generic_name: example
proprietary_name: example
company_name: example
dosage_form: example
presentation: example
status: example
availability: example
shortage_reason: example
related_info: example
initial_posting_date: example
update_date: example
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/data/united-states-drug-shortages/{key}:
get:
tags:
- Drug Shortages
summary: Get one United States Drug Shortages record by package_ndc
description: 'Fetch a single United States Drug Shortages record by its `package_ndc`.
**Example:** `GET /v1/data/united-states-drug-shortages/example`'
operationId: get_endpoint_v1_data_united_states_drug_shortages__key__get
parameters:
- name: key
in: path
required: true
schema:
type: string
description: The package_ndc value to look up (case-insensitive).
examples:
- example
title: Key
description: The package_ndc value to look up (case-insensitive).
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
responses:
'200':
description: A single United States Drug Shortages record.
content:
application/json:
schema: {}
example:
data:
package_ndc: example
generic_name: example
proprietary_name: example
company_name: example
dosage_form: example
presentation: example
status: example
availability: example
shortage_reason: example
related_info: example
initial_posting_date: example
update_date: example
'404':
content:
application/json:
example:
error:
code: NOT_FOUND
message: No United States Drug Shortages record for '...'.
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError