curl https://rhizomeai.com/api/v3/datasets \
-H "x-api-key: YOUR_API_KEY"
import requests
response = requests.get(
"https://rhizomeai.com/api/v3/datasets",
headers={"x-api-key": "YOUR_API_KEY"},
)
response.raise_for_status()
for dataset in response.json()["datasets"]:
if dataset["available"]:
print(dataset["id"], sorted(dataset["filters"]))
const response = await fetch("https://rhizomeai.com/api/v3/datasets", {
headers: { "x-api-key": "YOUR_API_KEY" },
});
const { datasets } = await response.json();
console.log(datasets.filter((d) => d.available).map((d) => d.id));
{
"datasets": [
{
"id": "fda_483",
"name": "FDA 483 Inspections",
"jurisdiction": "US · FDA",
"available": true,
"enterprise": false,
"date_field": "record_date",
"filters": {
"facility_name": {
"type": "string",
"description": "Keyword match on facility name (BM25 tokenized). Example: 'Emergent BioSolutions'."
},
"fei_number": {
"type": "string",
"description": "Exact FEI number. Example: '3002808318'."
},
"title": {
"type": "string",
"description": "Keyword match on document title (BM25 tokenized)."
},
"date_from": {
"type": "string",
"format": "date",
"description": "Inclusive lower bound on record date (YYYY-MM-DD)."
},
"date_to": {
"type": "string",
"format": "date",
"description": "Inclusive upper bound on record date (YYYY-MM-DD)."
}
},
"fields": [
"facility_name",
"fei_number",
"record_date",
"record_id",
"title",
"url"
]
},
{
"id": "ema_committee",
"name": "EMA Committee Documents",
"jurisdiction": "EU · EMA",
"available": false,
"enterprise": false
}
]
}
API v3
List datasets
Every dataset, with the filters and fields of the ones search covers
GET
/
api
/
v3
/
datasets
curl https://rhizomeai.com/api/v3/datasets \
-H "x-api-key: YOUR_API_KEY"
import requests
response = requests.get(
"https://rhizomeai.com/api/v3/datasets",
headers={"x-api-key": "YOUR_API_KEY"},
)
response.raise_for_status()
for dataset in response.json()["datasets"]:
if dataset["available"]:
print(dataset["id"], sorted(dataset["filters"]))
const response = await fetch("https://rhizomeai.com/api/v3/datasets", {
headers: { "x-api-key": "YOUR_API_KEY" },
});
const { datasets } = await response.json();
console.log(datasets.filter((d) => d.available).map((d) => d.id));
{
"datasets": [
{
"id": "fda_483",
"name": "FDA 483 Inspections",
"jurisdiction": "US · FDA",
"available": true,
"enterprise": false,
"date_field": "record_date",
"filters": {
"facility_name": {
"type": "string",
"description": "Keyword match on facility name (BM25 tokenized). Example: 'Emergent BioSolutions'."
},
"fei_number": {
"type": "string",
"description": "Exact FEI number. Example: '3002808318'."
},
"title": {
"type": "string",
"description": "Keyword match on document title (BM25 tokenized)."
},
"date_from": {
"type": "string",
"format": "date",
"description": "Inclusive lower bound on record date (YYYY-MM-DD)."
},
"date_to": {
"type": "string",
"format": "date",
"description": "Inclusive upper bound on record date (YYYY-MM-DD)."
}
},
"fields": [
"facility_name",
"fei_number",
"record_date",
"record_id",
"title",
"url"
]
},
{
"id": "ema_committee",
"name": "EMA Committee Documents",
"jurisdiction": "EU · EMA",
"available": false,
"enterprise": false
}
]
}
Lists every dataset in Rhizome. The ones the API can search (
available: true) come with their filters, their fields and the field dates filter on. The Datasets reference shows the same information, one page per dataset.
Datasets outside the US are listed with available: false and no filters or fields: the API can’t search them yet.
Response
array
Every dataset.
Show Dataset object
Show Dataset object
string
The dataset id, used in a search’s
datasets and filters.string
Display name.
string
Country and agency, e.g.
US · FDA.boolean
Whether the API can search the dataset. When
false, date_field,
filters and fields are absent.boolean
Whether the dataset needs an enterprise plan. Without one, search reports
it as
forbidden.string | null
The field a search’s
date_from and date_to filter on. null when the
dataset has no date: a search with a date skips it.object
The filters the dataset accepts in a search’s
filters, as JSON Schema
properties: each has a type, a description, and an enum or
format when the value is constrained.string[]
The fields of the dataset’s results. A search result carries them in
fields, except page_num and text: the page itself is in pages.Errors
Errors return{"error": {"code", "message", "request_id"}}. See Errors.
| Status | Code | Description |
|---|---|---|
| 401 | missing_api_key, invalid_api_key | Missing or invalid API key |
| 429 | rate_limited | Rate limit exceeded (50 requests/minute) |
| 502 | upstream_error | The catalog couldn’t be loaded |
curl https://rhizomeai.com/api/v3/datasets \
-H "x-api-key: YOUR_API_KEY"
import requests
response = requests.get(
"https://rhizomeai.com/api/v3/datasets",
headers={"x-api-key": "YOUR_API_KEY"},
)
response.raise_for_status()
for dataset in response.json()["datasets"]:
if dataset["available"]:
print(dataset["id"], sorted(dataset["filters"]))
const response = await fetch("https://rhizomeai.com/api/v3/datasets", {
headers: { "x-api-key": "YOUR_API_KEY" },
});
const { datasets } = await response.json();
console.log(datasets.filter((d) => d.available).map((d) => d.id));
{
"datasets": [
{
"id": "fda_483",
"name": "FDA 483 Inspections",
"jurisdiction": "US · FDA",
"available": true,
"enterprise": false,
"date_field": "record_date",
"filters": {
"facility_name": {
"type": "string",
"description": "Keyword match on facility name (BM25 tokenized). Example: 'Emergent BioSolutions'."
},
"fei_number": {
"type": "string",
"description": "Exact FEI number. Example: '3002808318'."
},
"title": {
"type": "string",
"description": "Keyword match on document title (BM25 tokenized)."
},
"date_from": {
"type": "string",
"format": "date",
"description": "Inclusive lower bound on record date (YYYY-MM-DD)."
},
"date_to": {
"type": "string",
"format": "date",
"description": "Inclusive upper bound on record date (YYYY-MM-DD)."
}
},
"fields": [
"facility_name",
"fei_number",
"record_date",
"record_id",
"title",
"url"
]
},
{
"id": "ema_committee",
"name": "EMA Committee Documents",
"jurisdiction": "EU · EMA",
"available": false,
"enterprise": false
}
]
}