[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-openfda-database":3,"mdc--wm7f0b-key":33,"related-repo-google-deepmind-openfda-database":1839,"related-org-google-deepmind-openfda-database":1949},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"openfda-database","query openFDA regulatory and product data","Query, search, and download data from the openFDA API for drugs, devices, foods, tobacco, cosmetics, animal and veterinary products, substances, and transparency data. Use for FDA adverse events, recalls, labeling, approvals, shortages, 510(k) clearances, NDC lookups, and any FDA safety or regulatory data query across all 28 API endpoints.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"google-deepmind","Google DeepMind","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-deepmind.png",[12,16,19],{"name":13,"slug":14,"type":15},"FDA","fda","tag",{"name":17,"slug":18,"type":15},"Life Sciences","life-sciences",{"name":20,"slug":21,"type":15},"Regulatory Compliance","regulatory-compliance",2333,"https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills","2026-07-12T07:52:08.070765",null,234,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"GDM Science Skills to speed up agentic scientific workflows with better grounding and higher token efficiency. Integrate insights from AlphaGenome, AFDB, UniProt and 30+ other databases and tools.","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fopenfda_database","---\nname: openfda-database\ndescription: >\n  Query, search, and download data from the openFDA API for drugs, devices,\n  foods, tobacco, cosmetics, animal and veterinary products, substances, and\n  transparency data. Use for FDA adverse events, recalls, labeling, approvals,\n  shortages, 510(k) clearances, NDC lookups, and any FDA safety or regulatory\n  data query across all 28 API endpoints.\n---\n\n# openFDA Search and Query\n\n## Prerequisites\n\n1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure\n    `uv` is installed and on PATH.\n2.  **User Notification**: If .licenses\u002Fopenfda_database_LICENSE.txt does not\n    already exist in the workspace root directory then (1) prominently notify\n    the user to check the terms at https:\u002F\u002Fopen.fda.gov\u002Fapis\u002F and\n    https:\u002F\u002Fopen.fda.gov\u002Flicense, then (2) create the file recording the\n    notification text and timestamp.\n3.  **`.env` file**: Make sure the `.env` file exists in your home directory.\n    Create one if it does not exist.\n4.  **`FDA_API_KEY`** (optional but recommended): Raises the daily request limit\n    from 1,000 to 120,000. The skill works without it, but an agent can easily\n    exhaust the keyless limit in a single session. You can register for a free\n    key at https:\u002F\u002Fopen.fda.gov\u002Fapis\u002Fauthentication\u002F. You **MUST** use the safe\n    credentials protocol in the `credentials` skill to check for and request\n    this key if this skill looks relevant to the user's request.\n\n## Core Rules\n\n-   **Use the Wrapper**: ALWAYS execute the provided helper scripts to query the\n    database rather than accessing the database directly. The scripts\n    automatically enforce the required rate limit gracefully.\n\n-   **Rate Limiting**: Respect openFDA rate limits. Without API key: 240\n    requests\u002Fmin, 1,000 requests\u002Fday per IP. With API key: 240 requests\u002Fmin,\n    120,000 requests\u002Fday per key. Always set an API key before running\n    multi-query workflows.\n\n> **Warning**: An automated agent can easily exhaust the 1,000-request daily\n> limit in a single research session. Always set an API key before running\n> multi-query workflows.\n\n> You **MUST** use the safe credentials protocol in the `credentials` skill to\n> help the user add `FDA_API_KEY` to their `.env` file if this skill looks\n> relevant to the user's request. The script will emit a warning to stderr if no\n> API key is detected.\n\n-   **Always Use `--output`**: All subcommands require `--output \u003Cfile>` to\n    write results to a file. This prevents large output becoming overwhelming.\n    Use jq or code to read the output file.\n\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output.\n\n## Utility Script\n\n**Single script for all operations:**\n\n```bash\nuv run scripts\u002Fopenfda_query.py {search,count,download} --output \u003Cfile> [options]\n```\n\n### 1. Search\n\nSearch any of the 28 endpoints and save JSON results to a file.\n\n```bash\nuv run scripts\u002Fopenfda_query.py search \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --limit 5 --output \u002Ftmp\u002Ffda_results.json\n```\n\nStdout prints a compact summary:\n\n```json\n{\"status\": \"success\", \"output\": \"\u002Ftmp\u002Ffda_results.json\", \"results_in_file\": 5, \"total_matching\": 601477}\n```\n\n*Options:*\n\n-   `--output`: Output file for full JSON results (required).\n-   `--category`: API category — `drug`, `device`, `food`, `tobacco`, `other`,\n    `animalandveterinary`, `cosmetic`, `transparency`.\n-   `--endpoint`: Endpoint within the category (e.g., `event`, `label`, `510k`).\n    See [references\u002Fapi_endpoints.md](references\u002Fapi_endpoints.md) for full\n    list.\n-   `--search`: Query string (e.g.,\n    `patient.drug.medicinalproduct:aspirin+AND+serious:1`).\n-   `--sort`: Sort field and order (e.g., `receivedate:desc`).\n-   `--limit`: Max results (default 10, max 1000).\n-   `--skip`: Pagination offset (default 0).\n-   `--api_key`: API key (also reads `FDA_API_KEY` env var).\n\n### 2. Count\n\nCount unique values of a field within matching results.\n\n```bash\nuv run scripts\u002Fopenfda_query.py count \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --count_field \"patient.reaction.reactionmeddrapt.exact\" \\\n  --summary 10 --output \u002Ftmp\u002Faspirin_reactions.json\n```\n\nStdout prints a summary with the top 5 terms. Full data is in the output file.\n\n*Additional options:*\n\n-   `--count_field`: Field to count (append `.exact` for whole-phrase counting).\n-   `--summary N`: Return only the top N most frequent terms. Use this to avoid\n    flooding the context with hundreds of infrequent terms.\n\n### 3. Download\n\nDownload multiple pages of results to a file.\n\n```bash\nuv run scripts\u002Fopenfda_query.py download \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --limit 100 --max_pages 5 \\\n  --output \u002Ftmp\u002Faspirin_events.json\n```\n\n*Additional options:*\n\n-   `--max_pages`: Maximum pages to fetch (default 10).\n-   `--all_results`: Automatically paginate to fetch all matching results.\n    Safety cap of 25,000 records maximum per download to prevent runaway\n    downloads and prevent excessive API usage.\n\n    > **Tip**: Common drugs can have excessive reports. Use a date range (e.g.,\n    > `receivedate:[20250101+TO+20250131]`) to limit the volume of download.\n\n## Entity Resolution: Using .exact for Precision\n\nWhen searching for specific product names, drug names, or categorical terms,\nalways use the `.exact` suffix on the field to get exact-match results. Without\nit, the API tokenizes multi-word values and returns noisy partial matches.\n\n```bash\n# Precise: matches only \"ADVIL\"\nuv run scripts\u002Fopenfda_query.py search --category drug --endpoint label \\\n  --search 'openfda.brand_name.exact:\"ADVIL\"' \\\n  --limit 5 --output \u002Ftmp\u002Fadvil_label.json\n```\n\n> **Note**: Many brand names in the FDA database include variant suffixes (e.g.,\n> \"TYLENOL Extra Strength\" rather than just \"TYLENOL\"). If an `.exact` search\n> returns 0 results, try without `.exact` to see the available brand name\n> variants, then re-query with the full exact name.\n\nThe `.exact` suffix is also required when using `--count_field` to aggregate\nwhole phrases instead of individual words.\n\n## MedDRA Term Resolution\n\nopenFDA adverse event data uses MedDRA (Medical Dictionary for Regulatory\nActivities) terms for reactions. The API reports **Preferred Terms (PTs)** but\ndoes not provide the MedDRA hierarchy (System Organ Class, High Level Terms,\netc.).\n\n> **Note**: MedDRA is a proprietary ontology and is **not indexed** in the\n> EMBL-EBI OLS. To approximate MedDRA hierarchy lookups, use the **Human\n> Phenotype Ontology (HP)** or **NCI Thesaurus (NCIT)** as proxy ontologies —\n> they cross-reference MedDRA IDs and provide parent\u002Fancestor relationships.\n\n```bash\n# Step 1: Get top reactions from openFDA\nuv run scripts\u002Fopenfda_query.py count \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:metformin\" \\\n  --count_field \"patient.reaction.reactionmeddrapt.exact\" \\\n  --summary 5 --output \u002Ftmp\u002Fmetformin_reactions.json\n\n# Step 2: Look up the top reaction term using a biomedical ontology service\n# skill (e.g. embl-ebi-ols skill).\n# MedDRA is not available in OLS; use the Human Phenotype Ontology (HP) or\n# NCI Thesaurus (NCIT) as a proxy to find the hierarchical classification of\n# the reaction term.\n```\n\n## Available Endpoints (28 total)\n\nCategory to endpoint mapping:\n\n-   `drug`: event, label, ndc, enforcement, drugsfda, shortages\n-   `device`: 510k, classification, enforcement, event, pma, recall,\n    registrationlisting, udi, covid19serology\n-   `food`: enforcement, event\n-   `tobacco`: problem, researchpreventionads, researchdigitalads,\n    researchsmokefree\n-   `other`: historicaldocument, nsde, substance, unii\n-   `animalandveterinary`: event\n-   `cosmetic`: event\n-   `transparency`: crl\n\n## Reference\n\n-   **Query syntax and all endpoints**: See\n    [references\u002Fapi_endpoints.md](references\u002Fapi_endpoints.md) for field names,\n    search syntax, date ranges, and boolean operators.\n\n## Recipes\n\nCommon query patterns for drugs, devices, foods, tobacco, cosmetics, animal and\nveterinary products, substances, transparency data, adverse events, recalls,\nlabeling, approvals, shortages, 510(k) clearances, NDC lookups, any FDA safety\nor regulatory data query, and more. See\n[references\u002Frecipes.md](references\u002Frecipes.md) for the full recipes.\n\n## Workflow\n\n1.  Search for records using `search` with `--output`. Read the output file.\n2.  Use `count` with `--summary 10 --output` to summarize field distributions.\n3.  Use `download` (with `--all_results` for exhaustive pulls) to fetch larger\n    datasets.\n4.  Read and analyze the output file using standard tools.\n5.  For MedDRA term hierarchy questions, use a biomedical ontology service skill\n    (e.g. EMBL-EBI OLS skill with the HP or NCIT ontology) to look up the term.\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,54,177,183,207,222,257,294,300,308,378,385,390,502,507,647,656,856,862,867,992,997,1005,1038,1044,1049,1164,1171,1217,1223,1235,1338,1365,1384,1390,1402,1435,1619,1625,1630,1712,1718,1737,1743,1755,1761,1833],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"openfda-search-and-query",[44],{"type":45,"value":46},"text","openFDA Search and Query",{"type":39,"tag":48,"props":49,"children":51},"h2",{"id":50},"prerequisites",[52],{"type":45,"value":53},"Prerequisites",{"type":39,"tag":55,"props":56,"children":57},"ol",{},[58,89,117,140],{"type":39,"tag":59,"props":60,"children":61},"li",{},[62,73,75,80,82,87],{"type":39,"tag":63,"props":64,"children":65},"strong",{},[66],{"type":39,"tag":67,"props":68,"children":70},"code",{"className":69},[],[71],{"type":45,"value":72},"uv",{"type":45,"value":74},": Read the ",{"type":39,"tag":67,"props":76,"children":78},{"className":77},[],[79],{"type":45,"value":72},{"type":45,"value":81}," skill and follow its Setup instructions to ensure\n",{"type":39,"tag":67,"props":83,"children":85},{"className":84},[],[86],{"type":45,"value":72},{"type":45,"value":88}," is installed and on PATH.",{"type":39,"tag":59,"props":90,"children":91},{},[92,97,99,107,109,115],{"type":39,"tag":63,"props":93,"children":94},{},[95],{"type":45,"value":96},"User Notification",{"type":45,"value":98},": If .licenses\u002Fopenfda_database_LICENSE.txt does not\nalready exist in the workspace root directory then (1) prominently notify\nthe user to check the terms at ",{"type":39,"tag":100,"props":101,"children":105},"a",{"href":102,"rel":103},"https:\u002F\u002Fopen.fda.gov\u002Fapis\u002F",[104],"nofollow",[106],{"type":45,"value":102},{"type":45,"value":108}," and\n",{"type":39,"tag":100,"props":110,"children":113},{"href":111,"rel":112},"https:\u002F\u002Fopen.fda.gov\u002Flicense",[104],[114],{"type":45,"value":111},{"type":45,"value":116},", then (2) create the file recording the\nnotification text and timestamp.",{"type":39,"tag":59,"props":118,"children":119},{},[120,131,133,138],{"type":39,"tag":63,"props":121,"children":122},{},[123,129],{"type":39,"tag":67,"props":124,"children":126},{"className":125},[],[127],{"type":45,"value":128},".env",{"type":45,"value":130}," file",{"type":45,"value":132},": Make sure the ",{"type":39,"tag":67,"props":134,"children":136},{"className":135},[],[137],{"type":45,"value":128},{"type":45,"value":139}," file exists in your home directory.\nCreate one if it does not exist.",{"type":39,"tag":59,"props":141,"children":142},{},[143,152,154,160,162,167,169,175],{"type":39,"tag":63,"props":144,"children":145},{},[146],{"type":39,"tag":67,"props":147,"children":149},{"className":148},[],[150],{"type":45,"value":151},"FDA_API_KEY",{"type":45,"value":153}," (optional but recommended): Raises the daily request limit\nfrom 1,000 to 120,000. The skill works without it, but an agent can easily\nexhaust the keyless limit in a single session. You can register for a free\nkey at ",{"type":39,"tag":100,"props":155,"children":158},{"href":156,"rel":157},"https:\u002F\u002Fopen.fda.gov\u002Fapis\u002Fauthentication\u002F",[104],[159],{"type":45,"value":156},{"type":45,"value":161},". You ",{"type":39,"tag":63,"props":163,"children":164},{},[165],{"type":45,"value":166},"MUST",{"type":45,"value":168}," use the safe\ncredentials protocol in the ",{"type":39,"tag":67,"props":170,"children":172},{"className":171},[],[173],{"type":45,"value":174},"credentials",{"type":45,"value":176}," skill to check for and request\nthis key if this skill looks relevant to the user's request.",{"type":39,"tag":48,"props":178,"children":180},{"id":179},"core-rules",[181],{"type":45,"value":182},"Core Rules",{"type":39,"tag":184,"props":185,"children":186},"ul",{},[187,197],{"type":39,"tag":59,"props":188,"children":189},{},[190,195],{"type":39,"tag":63,"props":191,"children":192},{},[193],{"type":45,"value":194},"Use the Wrapper",{"type":45,"value":196},": ALWAYS execute the provided helper scripts to query the\ndatabase rather than accessing the database directly. The scripts\nautomatically enforce the required rate limit gracefully.",{"type":39,"tag":59,"props":198,"children":199},{},[200,205],{"type":39,"tag":63,"props":201,"children":202},{},[203],{"type":45,"value":204},"Rate Limiting",{"type":45,"value":206},": Respect openFDA rate limits. Without API key: 240\nrequests\u002Fmin, 1,000 requests\u002Fday per IP. With API key: 240 requests\u002Fmin,\n120,000 requests\u002Fday per key. Always set an API key before running\nmulti-query workflows.",{"type":39,"tag":208,"props":209,"children":210},"blockquote",{},[211],{"type":39,"tag":212,"props":213,"children":214},"p",{},[215,220],{"type":39,"tag":63,"props":216,"children":217},{},[218],{"type":45,"value":219},"Warning",{"type":45,"value":221},": An automated agent can easily exhaust the 1,000-request daily\nlimit in a single research session. Always set an API key before running\nmulti-query workflows.",{"type":39,"tag":208,"props":223,"children":224},{},[225],{"type":39,"tag":212,"props":226,"children":227},{},[228,230,234,236,241,243,248,250,255],{"type":45,"value":229},"You ",{"type":39,"tag":63,"props":231,"children":232},{},[233],{"type":45,"value":166},{"type":45,"value":235}," use the safe credentials protocol in the ",{"type":39,"tag":67,"props":237,"children":239},{"className":238},[],[240],{"type":45,"value":174},{"type":45,"value":242}," skill to\nhelp the user add ",{"type":39,"tag":67,"props":244,"children":246},{"className":245},[],[247],{"type":45,"value":151},{"type":45,"value":249}," to their ",{"type":39,"tag":67,"props":251,"children":253},{"className":252},[],[254],{"type":45,"value":128},{"type":45,"value":256}," file if this skill looks\nrelevant to the user's request. The script will emit a warning to stderr if no\nAPI key is detected.",{"type":39,"tag":184,"props":258,"children":259},{},[260,284],{"type":39,"tag":59,"props":261,"children":262},{},[263,274,276,282],{"type":39,"tag":63,"props":264,"children":265},{},[266,268],{"type":45,"value":267},"Always Use ",{"type":39,"tag":67,"props":269,"children":271},{"className":270},[],[272],{"type":45,"value":273},"--output",{"type":45,"value":275},": All subcommands require ",{"type":39,"tag":67,"props":277,"children":279},{"className":278},[],[280],{"type":45,"value":281},"--output \u003Cfile>",{"type":45,"value":283}," to\nwrite results to a file. This prevents large output becoming overwhelming.\nUse jq or code to read the output file.",{"type":39,"tag":59,"props":285,"children":286},{},[287,292],{"type":39,"tag":63,"props":288,"children":289},{},[290],{"type":45,"value":291},"Notification",{"type":45,"value":293},": If this skill is used, ensure this is mentioned in the\noutput.",{"type":39,"tag":48,"props":295,"children":297},{"id":296},"utility-script",[298],{"type":45,"value":299},"Utility Script",{"type":39,"tag":212,"props":301,"children":302},{},[303],{"type":39,"tag":63,"props":304,"children":305},{},[306],{"type":45,"value":307},"Single script for all operations:",{"type":39,"tag":309,"props":310,"children":315},"pre",{"className":311,"code":312,"language":313,"meta":314,"style":314},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run scripts\u002Fopenfda_query.py {search,count,download} --output \u003Cfile> [options]\n","bash","",[316],{"type":39,"tag":67,"props":317,"children":318},{"__ignoreMap":314},[319],{"type":39,"tag":320,"props":321,"children":324},"span",{"class":322,"line":323},"line",1,[325,330,336,341,346,351,357,362,368,373],{"type":39,"tag":320,"props":326,"children":328},{"style":327},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[329],{"type":45,"value":72},{"type":39,"tag":320,"props":331,"children":333},{"style":332},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[334],{"type":45,"value":335}," run",{"type":39,"tag":320,"props":337,"children":338},{"style":332},[339],{"type":45,"value":340}," scripts\u002Fopenfda_query.py",{"type":39,"tag":320,"props":342,"children":343},{"style":332},[344],{"type":45,"value":345}," {search,count,download}",{"type":39,"tag":320,"props":347,"children":348},{"style":332},[349],{"type":45,"value":350}," --output",{"type":39,"tag":320,"props":352,"children":354},{"style":353},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[355],{"type":45,"value":356}," \u003C",{"type":39,"tag":320,"props":358,"children":359},{"style":332},[360],{"type":45,"value":361},"fil",{"type":39,"tag":320,"props":363,"children":365},{"style":364},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[366],{"type":45,"value":367},"e",{"type":39,"tag":320,"props":369,"children":370},{"style":353},[371],{"type":45,"value":372},">",{"type":39,"tag":320,"props":374,"children":375},{"style":364},[376],{"type":45,"value":377}," [options]\n",{"type":39,"tag":379,"props":380,"children":382},"h3",{"id":381},"_1-search",[383],{"type":45,"value":384},"1. Search",{"type":39,"tag":212,"props":386,"children":387},{},[388],{"type":45,"value":389},"Search any of the 28 endpoints and save JSON results to a file.",{"type":39,"tag":309,"props":391,"children":393},{"className":311,"code":392,"language":313,"meta":314,"style":314},"uv run scripts\u002Fopenfda_query.py search \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --limit 5 --output \u002Ftmp\u002Ffda_results.json\n",[394],{"type":39,"tag":67,"props":395,"children":396},{"__ignoreMap":314},[397,422,450,478],{"type":39,"tag":320,"props":398,"children":399},{"class":322,"line":323},[400,404,408,412,417],{"type":39,"tag":320,"props":401,"children":402},{"style":327},[403],{"type":45,"value":72},{"type":39,"tag":320,"props":405,"children":406},{"style":332},[407],{"type":45,"value":335},{"type":39,"tag":320,"props":409,"children":410},{"style":332},[411],{"type":45,"value":340},{"type":39,"tag":320,"props":413,"children":414},{"style":332},[415],{"type":45,"value":416}," search",{"type":39,"tag":320,"props":418,"children":419},{"style":364},[420],{"type":45,"value":421}," \\\n",{"type":39,"tag":320,"props":423,"children":425},{"class":322,"line":424},2,[426,431,436,441,446],{"type":39,"tag":320,"props":427,"children":428},{"style":332},[429],{"type":45,"value":430},"  --category",{"type":39,"tag":320,"props":432,"children":433},{"style":332},[434],{"type":45,"value":435}," drug",{"type":39,"tag":320,"props":437,"children":438},{"style":332},[439],{"type":45,"value":440}," --endpoint",{"type":39,"tag":320,"props":442,"children":443},{"style":332},[444],{"type":45,"value":445}," event",{"type":39,"tag":320,"props":447,"children":448},{"style":364},[449],{"type":45,"value":421},{"type":39,"tag":320,"props":451,"children":453},{"class":322,"line":452},3,[454,459,464,469,474],{"type":39,"tag":320,"props":455,"children":456},{"style":332},[457],{"type":45,"value":458},"  --search",{"type":39,"tag":320,"props":460,"children":461},{"style":353},[462],{"type":45,"value":463}," \"",{"type":39,"tag":320,"props":465,"children":466},{"style":332},[467],{"type":45,"value":468},"patient.drug.medicinalproduct:aspirin",{"type":39,"tag":320,"props":470,"children":471},{"style":353},[472],{"type":45,"value":473},"\"",{"type":39,"tag":320,"props":475,"children":476},{"style":364},[477],{"type":45,"value":421},{"type":39,"tag":320,"props":479,"children":481},{"class":322,"line":480},4,[482,487,493,497],{"type":39,"tag":320,"props":483,"children":484},{"style":332},[485],{"type":45,"value":486},"  --limit",{"type":39,"tag":320,"props":488,"children":490},{"style":489},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[491],{"type":45,"value":492}," 5",{"type":39,"tag":320,"props":494,"children":495},{"style":332},[496],{"type":45,"value":350},{"type":39,"tag":320,"props":498,"children":499},{"style":332},[500],{"type":45,"value":501}," \u002Ftmp\u002Ffda_results.json\n",{"type":39,"tag":212,"props":503,"children":504},{},[505],{"type":45,"value":506},"Stdout prints a compact summary:",{"type":39,"tag":309,"props":508,"children":512},{"className":509,"code":510,"language":511,"meta":314,"style":314},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\"status\": \"success\", \"output\": \"\u002Ftmp\u002Ffda_results.json\", \"results_in_file\": 5, \"total_matching\": 601477}\n","json",[513],{"type":39,"tag":67,"props":514,"children":515},{"__ignoreMap":314},[516],{"type":39,"tag":320,"props":517,"children":518},{"class":322,"line":323},[519,524,528,534,538,543,547,552,556,561,565,570,574,578,582,587,591,595,599,604,608,612,616,620,624,629,633,637,642],{"type":39,"tag":320,"props":520,"children":521},{"style":353},[522],{"type":45,"value":523},"{",{"type":39,"tag":320,"props":525,"children":526},{"style":353},[527],{"type":45,"value":473},{"type":39,"tag":320,"props":529,"children":531},{"style":530},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[532],{"type":45,"value":533},"status",{"type":39,"tag":320,"props":535,"children":536},{"style":353},[537],{"type":45,"value":473},{"type":39,"tag":320,"props":539,"children":540},{"style":353},[541],{"type":45,"value":542},":",{"type":39,"tag":320,"props":544,"children":545},{"style":353},[546],{"type":45,"value":463},{"type":39,"tag":320,"props":548,"children":549},{"style":332},[550],{"type":45,"value":551},"success",{"type":39,"tag":320,"props":553,"children":554},{"style":353},[555],{"type":45,"value":473},{"type":39,"tag":320,"props":557,"children":558},{"style":353},[559],{"type":45,"value":560},",",{"type":39,"tag":320,"props":562,"children":563},{"style":353},[564],{"type":45,"value":463},{"type":39,"tag":320,"props":566,"children":567},{"style":530},[568],{"type":45,"value":569},"output",{"type":39,"tag":320,"props":571,"children":572},{"style":353},[573],{"type":45,"value":473},{"type":39,"tag":320,"props":575,"children":576},{"style":353},[577],{"type":45,"value":542},{"type":39,"tag":320,"props":579,"children":580},{"style":353},[581],{"type":45,"value":463},{"type":39,"tag":320,"props":583,"children":584},{"style":332},[585],{"type":45,"value":586},"\u002Ftmp\u002Ffda_results.json",{"type":39,"tag":320,"props":588,"children":589},{"style":353},[590],{"type":45,"value":473},{"type":39,"tag":320,"props":592,"children":593},{"style":353},[594],{"type":45,"value":560},{"type":39,"tag":320,"props":596,"children":597},{"style":353},[598],{"type":45,"value":463},{"type":39,"tag":320,"props":600,"children":601},{"style":530},[602],{"type":45,"value":603},"results_in_file",{"type":39,"tag":320,"props":605,"children":606},{"style":353},[607],{"type":45,"value":473},{"type":39,"tag":320,"props":609,"children":610},{"style":353},[611],{"type":45,"value":542},{"type":39,"tag":320,"props":613,"children":614},{"style":489},[615],{"type":45,"value":492},{"type":39,"tag":320,"props":617,"children":618},{"style":353},[619],{"type":45,"value":560},{"type":39,"tag":320,"props":621,"children":622},{"style":353},[623],{"type":45,"value":463},{"type":39,"tag":320,"props":625,"children":626},{"style":530},[627],{"type":45,"value":628},"total_matching",{"type":39,"tag":320,"props":630,"children":631},{"style":353},[632],{"type":45,"value":473},{"type":39,"tag":320,"props":634,"children":635},{"style":353},[636],{"type":45,"value":542},{"type":39,"tag":320,"props":638,"children":639},{"style":489},[640],{"type":45,"value":641}," 601477",{"type":39,"tag":320,"props":643,"children":644},{"style":353},[645],{"type":45,"value":646},"}\n",{"type":39,"tag":212,"props":648,"children":649},{},[650],{"type":39,"tag":651,"props":652,"children":653},"em",{},[654],{"type":45,"value":655},"Options:",{"type":39,"tag":184,"props":657,"children":658},{},[659,669,739,779,798,816,827,838],{"type":39,"tag":59,"props":660,"children":661},{},[662,667],{"type":39,"tag":67,"props":663,"children":665},{"className":664},[],[666],{"type":45,"value":273},{"type":45,"value":668},": Output file for full JSON results (required).",{"type":39,"tag":59,"props":670,"children":671},{},[672,678,680,686,688,694,695,701,702,708,709,715,717,723,724,730,731,737],{"type":39,"tag":67,"props":673,"children":675},{"className":674},[],[676],{"type":45,"value":677},"--category",{"type":45,"value":679},": API category — ",{"type":39,"tag":67,"props":681,"children":683},{"className":682},[],[684],{"type":45,"value":685},"drug",{"type":45,"value":687},", ",{"type":39,"tag":67,"props":689,"children":691},{"className":690},[],[692],{"type":45,"value":693},"device",{"type":45,"value":687},{"type":39,"tag":67,"props":696,"children":698},{"className":697},[],[699],{"type":45,"value":700},"food",{"type":45,"value":687},{"type":39,"tag":67,"props":703,"children":705},{"className":704},[],[706],{"type":45,"value":707},"tobacco",{"type":45,"value":687},{"type":39,"tag":67,"props":710,"children":712},{"className":711},[],[713],{"type":45,"value":714},"other",{"type":45,"value":716},",\n",{"type":39,"tag":67,"props":718,"children":720},{"className":719},[],[721],{"type":45,"value":722},"animalandveterinary",{"type":45,"value":687},{"type":39,"tag":67,"props":725,"children":727},{"className":726},[],[728],{"type":45,"value":729},"cosmetic",{"type":45,"value":687},{"type":39,"tag":67,"props":732,"children":734},{"className":733},[],[735],{"type":45,"value":736},"transparency",{"type":45,"value":738},".",{"type":39,"tag":59,"props":740,"children":741},{},[742,748,750,756,757,763,764,770,772,777],{"type":39,"tag":67,"props":743,"children":745},{"className":744},[],[746],{"type":45,"value":747},"--endpoint",{"type":45,"value":749},": Endpoint within the category (e.g., ",{"type":39,"tag":67,"props":751,"children":753},{"className":752},[],[754],{"type":45,"value":755},"event",{"type":45,"value":687},{"type":39,"tag":67,"props":758,"children":760},{"className":759},[],[761],{"type":45,"value":762},"label",{"type":45,"value":687},{"type":39,"tag":67,"props":765,"children":767},{"className":766},[],[768],{"type":45,"value":769},"510k",{"type":45,"value":771},").\nSee ",{"type":39,"tag":100,"props":773,"children":775},{"href":774},"references\u002Fapi_endpoints.md",[776],{"type":45,"value":774},{"type":45,"value":778}," for full\nlist.",{"type":39,"tag":59,"props":780,"children":781},{},[782,788,790,796],{"type":39,"tag":67,"props":783,"children":785},{"className":784},[],[786],{"type":45,"value":787},"--search",{"type":45,"value":789},": Query string (e.g.,\n",{"type":39,"tag":67,"props":791,"children":793},{"className":792},[],[794],{"type":45,"value":795},"patient.drug.medicinalproduct:aspirin+AND+serious:1",{"type":45,"value":797},").",{"type":39,"tag":59,"props":799,"children":800},{},[801,807,809,815],{"type":39,"tag":67,"props":802,"children":804},{"className":803},[],[805],{"type":45,"value":806},"--sort",{"type":45,"value":808},": Sort field and order (e.g., ",{"type":39,"tag":67,"props":810,"children":812},{"className":811},[],[813],{"type":45,"value":814},"receivedate:desc",{"type":45,"value":797},{"type":39,"tag":59,"props":817,"children":818},{},[819,825],{"type":39,"tag":67,"props":820,"children":822},{"className":821},[],[823],{"type":45,"value":824},"--limit",{"type":45,"value":826},": Max results (default 10, max 1000).",{"type":39,"tag":59,"props":828,"children":829},{},[830,836],{"type":39,"tag":67,"props":831,"children":833},{"className":832},[],[834],{"type":45,"value":835},"--skip",{"type":45,"value":837},": Pagination offset (default 0).",{"type":39,"tag":59,"props":839,"children":840},{},[841,847,849,854],{"type":39,"tag":67,"props":842,"children":844},{"className":843},[],[845],{"type":45,"value":846},"--api_key",{"type":45,"value":848},": API key (also reads ",{"type":39,"tag":67,"props":850,"children":852},{"className":851},[],[853],{"type":45,"value":151},{"type":45,"value":855}," env var).",{"type":39,"tag":379,"props":857,"children":859},{"id":858},"_2-count",[860],{"type":45,"value":861},"2. Count",{"type":39,"tag":212,"props":863,"children":864},{},[865],{"type":45,"value":866},"Count unique values of a field within matching results.",{"type":39,"tag":309,"props":868,"children":870},{"className":311,"code":869,"language":313,"meta":314,"style":314},"uv run scripts\u002Fopenfda_query.py count \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --count_field \"patient.reaction.reactionmeddrapt.exact\" \\\n  --summary 10 --output \u002Ftmp\u002Faspirin_reactions.json\n",[871],{"type":39,"tag":67,"props":872,"children":873},{"__ignoreMap":314},[874,898,921,944,969],{"type":39,"tag":320,"props":875,"children":876},{"class":322,"line":323},[877,881,885,889,894],{"type":39,"tag":320,"props":878,"children":879},{"style":327},[880],{"type":45,"value":72},{"type":39,"tag":320,"props":882,"children":883},{"style":332},[884],{"type":45,"value":335},{"type":39,"tag":320,"props":886,"children":887},{"style":332},[888],{"type":45,"value":340},{"type":39,"tag":320,"props":890,"children":891},{"style":332},[892],{"type":45,"value":893}," count",{"type":39,"tag":320,"props":895,"children":896},{"style":364},[897],{"type":45,"value":421},{"type":39,"tag":320,"props":899,"children":900},{"class":322,"line":424},[901,905,909,913,917],{"type":39,"tag":320,"props":902,"children":903},{"style":332},[904],{"type":45,"value":430},{"type":39,"tag":320,"props":906,"children":907},{"style":332},[908],{"type":45,"value":435},{"type":39,"tag":320,"props":910,"children":911},{"style":332},[912],{"type":45,"value":440},{"type":39,"tag":320,"props":914,"children":915},{"style":332},[916],{"type":45,"value":445},{"type":39,"tag":320,"props":918,"children":919},{"style":364},[920],{"type":45,"value":421},{"type":39,"tag":320,"props":922,"children":923},{"class":322,"line":452},[924,928,932,936,940],{"type":39,"tag":320,"props":925,"children":926},{"style":332},[927],{"type":45,"value":458},{"type":39,"tag":320,"props":929,"children":930},{"style":353},[931],{"type":45,"value":463},{"type":39,"tag":320,"props":933,"children":934},{"style":332},[935],{"type":45,"value":468},{"type":39,"tag":320,"props":937,"children":938},{"style":353},[939],{"type":45,"value":473},{"type":39,"tag":320,"props":941,"children":942},{"style":364},[943],{"type":45,"value":421},{"type":39,"tag":320,"props":945,"children":946},{"class":322,"line":480},[947,952,956,961,965],{"type":39,"tag":320,"props":948,"children":949},{"style":332},[950],{"type":45,"value":951},"  --count_field",{"type":39,"tag":320,"props":953,"children":954},{"style":353},[955],{"type":45,"value":463},{"type":39,"tag":320,"props":957,"children":958},{"style":332},[959],{"type":45,"value":960},"patient.reaction.reactionmeddrapt.exact",{"type":39,"tag":320,"props":962,"children":963},{"style":353},[964],{"type":45,"value":473},{"type":39,"tag":320,"props":966,"children":967},{"style":364},[968],{"type":45,"value":421},{"type":39,"tag":320,"props":970,"children":972},{"class":322,"line":971},5,[973,978,983,987],{"type":39,"tag":320,"props":974,"children":975},{"style":332},[976],{"type":45,"value":977},"  --summary",{"type":39,"tag":320,"props":979,"children":980},{"style":489},[981],{"type":45,"value":982}," 10",{"type":39,"tag":320,"props":984,"children":985},{"style":332},[986],{"type":45,"value":350},{"type":39,"tag":320,"props":988,"children":989},{"style":332},[990],{"type":45,"value":991}," \u002Ftmp\u002Faspirin_reactions.json\n",{"type":39,"tag":212,"props":993,"children":994},{},[995],{"type":45,"value":996},"Stdout prints a summary with the top 5 terms. Full data is in the output file.",{"type":39,"tag":212,"props":998,"children":999},{},[1000],{"type":39,"tag":651,"props":1001,"children":1002},{},[1003],{"type":45,"value":1004},"Additional options:",{"type":39,"tag":184,"props":1006,"children":1007},{},[1008,1027],{"type":39,"tag":59,"props":1009,"children":1010},{},[1011,1017,1019,1025],{"type":39,"tag":67,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":45,"value":1016},"--count_field",{"type":45,"value":1018},": Field to count (append ",{"type":39,"tag":67,"props":1020,"children":1022},{"className":1021},[],[1023],{"type":45,"value":1024},".exact",{"type":45,"value":1026}," for whole-phrase counting).",{"type":39,"tag":59,"props":1028,"children":1029},{},[1030,1036],{"type":39,"tag":67,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":45,"value":1035},"--summary N",{"type":45,"value":1037},": Return only the top N most frequent terms. Use this to avoid\nflooding the context with hundreds of infrequent terms.",{"type":39,"tag":379,"props":1039,"children":1041},{"id":1040},"_3-download",[1042],{"type":45,"value":1043},"3. Download",{"type":39,"tag":212,"props":1045,"children":1046},{},[1047],{"type":45,"value":1048},"Download multiple pages of results to a file.",{"type":39,"tag":309,"props":1050,"children":1052},{"className":311,"code":1051,"language":313,"meta":314,"style":314},"uv run scripts\u002Fopenfda_query.py download \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:aspirin\" \\\n  --limit 100 --max_pages 5 \\\n  --output \u002Ftmp\u002Faspirin_events.json\n",[1053],{"type":39,"tag":67,"props":1054,"children":1055},{"__ignoreMap":314},[1056,1080,1103,1126,1151],{"type":39,"tag":320,"props":1057,"children":1058},{"class":322,"line":323},[1059,1063,1067,1071,1076],{"type":39,"tag":320,"props":1060,"children":1061},{"style":327},[1062],{"type":45,"value":72},{"type":39,"tag":320,"props":1064,"children":1065},{"style":332},[1066],{"type":45,"value":335},{"type":39,"tag":320,"props":1068,"children":1069},{"style":332},[1070],{"type":45,"value":340},{"type":39,"tag":320,"props":1072,"children":1073},{"style":332},[1074],{"type":45,"value":1075}," download",{"type":39,"tag":320,"props":1077,"children":1078},{"style":364},[1079],{"type":45,"value":421},{"type":39,"tag":320,"props":1081,"children":1082},{"class":322,"line":424},[1083,1087,1091,1095,1099],{"type":39,"tag":320,"props":1084,"children":1085},{"style":332},[1086],{"type":45,"value":430},{"type":39,"tag":320,"props":1088,"children":1089},{"style":332},[1090],{"type":45,"value":435},{"type":39,"tag":320,"props":1092,"children":1093},{"style":332},[1094],{"type":45,"value":440},{"type":39,"tag":320,"props":1096,"children":1097},{"style":332},[1098],{"type":45,"value":445},{"type":39,"tag":320,"props":1100,"children":1101},{"style":364},[1102],{"type":45,"value":421},{"type":39,"tag":320,"props":1104,"children":1105},{"class":322,"line":452},[1106,1110,1114,1118,1122],{"type":39,"tag":320,"props":1107,"children":1108},{"style":332},[1109],{"type":45,"value":458},{"type":39,"tag":320,"props":1111,"children":1112},{"style":353},[1113],{"type":45,"value":463},{"type":39,"tag":320,"props":1115,"children":1116},{"style":332},[1117],{"type":45,"value":468},{"type":39,"tag":320,"props":1119,"children":1120},{"style":353},[1121],{"type":45,"value":473},{"type":39,"tag":320,"props":1123,"children":1124},{"style":364},[1125],{"type":45,"value":421},{"type":39,"tag":320,"props":1127,"children":1128},{"class":322,"line":480},[1129,1133,1138,1143,1147],{"type":39,"tag":320,"props":1130,"children":1131},{"style":332},[1132],{"type":45,"value":486},{"type":39,"tag":320,"props":1134,"children":1135},{"style":489},[1136],{"type":45,"value":1137}," 100",{"type":39,"tag":320,"props":1139,"children":1140},{"style":332},[1141],{"type":45,"value":1142}," --max_pages",{"type":39,"tag":320,"props":1144,"children":1145},{"style":489},[1146],{"type":45,"value":492},{"type":39,"tag":320,"props":1148,"children":1149},{"style":364},[1150],{"type":45,"value":421},{"type":39,"tag":320,"props":1152,"children":1153},{"class":322,"line":971},[1154,1159],{"type":39,"tag":320,"props":1155,"children":1156},{"style":332},[1157],{"type":45,"value":1158},"  --output",{"type":39,"tag":320,"props":1160,"children":1161},{"style":332},[1162],{"type":45,"value":1163}," \u002Ftmp\u002Faspirin_events.json\n",{"type":39,"tag":212,"props":1165,"children":1166},{},[1167],{"type":39,"tag":651,"props":1168,"children":1169},{},[1170],{"type":45,"value":1004},{"type":39,"tag":184,"props":1172,"children":1173},{},[1174,1185],{"type":39,"tag":59,"props":1175,"children":1176},{},[1177,1183],{"type":39,"tag":67,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":45,"value":1182},"--max_pages",{"type":45,"value":1184},": Maximum pages to fetch (default 10).",{"type":39,"tag":59,"props":1186,"children":1187},{},[1188,1194,1196],{"type":39,"tag":67,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":45,"value":1193},"--all_results",{"type":45,"value":1195},": Automatically paginate to fetch all matching results.\nSafety cap of 25,000 records maximum per download to prevent runaway\ndownloads and prevent excessive API usage.",{"type":39,"tag":208,"props":1197,"children":1198},{},[1199],{"type":39,"tag":212,"props":1200,"children":1201},{},[1202,1207,1209,1215],{"type":39,"tag":63,"props":1203,"children":1204},{},[1205],{"type":45,"value":1206},"Tip",{"type":45,"value":1208},": Common drugs can have excessive reports. Use a date range (e.g.,\n",{"type":39,"tag":67,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":45,"value":1214},"receivedate:[20250101+TO+20250131]",{"type":45,"value":1216},") to limit the volume of download.",{"type":39,"tag":48,"props":1218,"children":1220},{"id":1219},"entity-resolution-using-exact-for-precision",[1221],{"type":45,"value":1222},"Entity Resolution: Using .exact for Precision",{"type":39,"tag":212,"props":1224,"children":1225},{},[1226,1228,1233],{"type":45,"value":1227},"When searching for specific product names, drug names, or categorical terms,\nalways use the ",{"type":39,"tag":67,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":45,"value":1024},{"type":45,"value":1234}," suffix on the field to get exact-match results. Without\nit, the API tokenizes multi-word values and returns noisy partial matches.",{"type":39,"tag":309,"props":1236,"children":1238},{"className":311,"code":1237,"language":313,"meta":314,"style":314},"# Precise: matches only \"ADVIL\"\nuv run scripts\u002Fopenfda_query.py search --category drug --endpoint label \\\n  --search 'openfda.brand_name.exact:\"ADVIL\"' \\\n  --limit 5 --output \u002Ftmp\u002Fadvil_label.json\n",[1239],{"type":39,"tag":67,"props":1240,"children":1241},{"__ignoreMap":314},[1242,1251,1292,1318],{"type":39,"tag":320,"props":1243,"children":1244},{"class":322,"line":323},[1245],{"type":39,"tag":320,"props":1246,"children":1248},{"style":1247},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1249],{"type":45,"value":1250},"# Precise: matches only \"ADVIL\"\n",{"type":39,"tag":320,"props":1252,"children":1253},{"class":322,"line":424},[1254,1258,1262,1266,1270,1275,1279,1283,1288],{"type":39,"tag":320,"props":1255,"children":1256},{"style":327},[1257],{"type":45,"value":72},{"type":39,"tag":320,"props":1259,"children":1260},{"style":332},[1261],{"type":45,"value":335},{"type":39,"tag":320,"props":1263,"children":1264},{"style":332},[1265],{"type":45,"value":340},{"type":39,"tag":320,"props":1267,"children":1268},{"style":332},[1269],{"type":45,"value":416},{"type":39,"tag":320,"props":1271,"children":1272},{"style":332},[1273],{"type":45,"value":1274}," --category",{"type":39,"tag":320,"props":1276,"children":1277},{"style":332},[1278],{"type":45,"value":435},{"type":39,"tag":320,"props":1280,"children":1281},{"style":332},[1282],{"type":45,"value":440},{"type":39,"tag":320,"props":1284,"children":1285},{"style":332},[1286],{"type":45,"value":1287}," label",{"type":39,"tag":320,"props":1289,"children":1290},{"style":364},[1291],{"type":45,"value":421},{"type":39,"tag":320,"props":1293,"children":1294},{"class":322,"line":452},[1295,1299,1304,1309,1314],{"type":39,"tag":320,"props":1296,"children":1297},{"style":332},[1298],{"type":45,"value":458},{"type":39,"tag":320,"props":1300,"children":1301},{"style":353},[1302],{"type":45,"value":1303}," '",{"type":39,"tag":320,"props":1305,"children":1306},{"style":332},[1307],{"type":45,"value":1308},"openfda.brand_name.exact:\"ADVIL\"",{"type":39,"tag":320,"props":1310,"children":1311},{"style":353},[1312],{"type":45,"value":1313},"'",{"type":39,"tag":320,"props":1315,"children":1316},{"style":364},[1317],{"type":45,"value":421},{"type":39,"tag":320,"props":1319,"children":1320},{"class":322,"line":480},[1321,1325,1329,1333],{"type":39,"tag":320,"props":1322,"children":1323},{"style":332},[1324],{"type":45,"value":486},{"type":39,"tag":320,"props":1326,"children":1327},{"style":489},[1328],{"type":45,"value":492},{"type":39,"tag":320,"props":1330,"children":1331},{"style":332},[1332],{"type":45,"value":350},{"type":39,"tag":320,"props":1334,"children":1335},{"style":332},[1336],{"type":45,"value":1337}," \u002Ftmp\u002Fadvil_label.json\n",{"type":39,"tag":208,"props":1339,"children":1340},{},[1341],{"type":39,"tag":212,"props":1342,"children":1343},{},[1344,1349,1351,1356,1358,1363],{"type":39,"tag":63,"props":1345,"children":1346},{},[1347],{"type":45,"value":1348},"Note",{"type":45,"value":1350},": Many brand names in the FDA database include variant suffixes (e.g.,\n\"TYLENOL Extra Strength\" rather than just \"TYLENOL\"). If an ",{"type":39,"tag":67,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":45,"value":1024},{"type":45,"value":1357}," search\nreturns 0 results, try without ",{"type":39,"tag":67,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":45,"value":1024},{"type":45,"value":1364}," to see the available brand name\nvariants, then re-query with the full exact name.",{"type":39,"tag":212,"props":1366,"children":1367},{},[1368,1370,1375,1377,1382],{"type":45,"value":1369},"The ",{"type":39,"tag":67,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":45,"value":1024},{"type":45,"value":1376}," suffix is also required when using ",{"type":39,"tag":67,"props":1378,"children":1380},{"className":1379},[],[1381],{"type":45,"value":1016},{"type":45,"value":1383}," to aggregate\nwhole phrases instead of individual words.",{"type":39,"tag":48,"props":1385,"children":1387},{"id":1386},"meddra-term-resolution",[1388],{"type":45,"value":1389},"MedDRA Term Resolution",{"type":39,"tag":212,"props":1391,"children":1392},{},[1393,1395,1400],{"type":45,"value":1394},"openFDA adverse event data uses MedDRA (Medical Dictionary for Regulatory\nActivities) terms for reactions. The API reports ",{"type":39,"tag":63,"props":1396,"children":1397},{},[1398],{"type":45,"value":1399},"Preferred Terms (PTs)",{"type":45,"value":1401}," but\ndoes not provide the MedDRA hierarchy (System Organ Class, High Level Terms,\netc.).",{"type":39,"tag":208,"props":1403,"children":1404},{},[1405],{"type":39,"tag":212,"props":1406,"children":1407},{},[1408,1412,1414,1419,1421,1426,1428,1433],{"type":39,"tag":63,"props":1409,"children":1410},{},[1411],{"type":45,"value":1348},{"type":45,"value":1413},": MedDRA is a proprietary ontology and is ",{"type":39,"tag":63,"props":1415,"children":1416},{},[1417],{"type":45,"value":1418},"not indexed",{"type":45,"value":1420}," in the\nEMBL-EBI OLS. To approximate MedDRA hierarchy lookups, use the ",{"type":39,"tag":63,"props":1422,"children":1423},{},[1424],{"type":45,"value":1425},"Human\nPhenotype Ontology (HP)",{"type":45,"value":1427}," or ",{"type":39,"tag":63,"props":1429,"children":1430},{},[1431],{"type":45,"value":1432},"NCI Thesaurus (NCIT)",{"type":45,"value":1434}," as proxy ontologies —\nthey cross-reference MedDRA IDs and provide parent\u002Fancestor relationships.",{"type":39,"tag":309,"props":1436,"children":1438},{"className":311,"code":1437,"language":313,"meta":314,"style":314},"# Step 1: Get top reactions from openFDA\nuv run scripts\u002Fopenfda_query.py count \\\n  --category drug --endpoint event \\\n  --search \"patient.drug.medicinalproduct:metformin\" \\\n  --count_field \"patient.reaction.reactionmeddrapt.exact\" \\\n  --summary 5 --output \u002Ftmp\u002Fmetformin_reactions.json\n\n# Step 2: Look up the top reaction term using a biomedical ontology service\n# skill (e.g. embl-ebi-ols skill).\n# MedDRA is not available in OLS; use the Human Phenotype Ontology (HP) or\n# NCI Thesaurus (NCIT) as a proxy to find the hierarchical classification of\n# the reaction term.\n",[1439],{"type":39,"tag":67,"props":1440,"children":1441},{"__ignoreMap":314},[1442,1450,1473,1496,1520,1543,1564,1574,1583,1592,1601,1610],{"type":39,"tag":320,"props":1443,"children":1444},{"class":322,"line":323},[1445],{"type":39,"tag":320,"props":1446,"children":1447},{"style":1247},[1448],{"type":45,"value":1449},"# Step 1: Get top reactions from openFDA\n",{"type":39,"tag":320,"props":1451,"children":1452},{"class":322,"line":424},[1453,1457,1461,1465,1469],{"type":39,"tag":320,"props":1454,"children":1455},{"style":327},[1456],{"type":45,"value":72},{"type":39,"tag":320,"props":1458,"children":1459},{"style":332},[1460],{"type":45,"value":335},{"type":39,"tag":320,"props":1462,"children":1463},{"style":332},[1464],{"type":45,"value":340},{"type":39,"tag":320,"props":1466,"children":1467},{"style":332},[1468],{"type":45,"value":893},{"type":39,"tag":320,"props":1470,"children":1471},{"style":364},[1472],{"type":45,"value":421},{"type":39,"tag":320,"props":1474,"children":1475},{"class":322,"line":452},[1476,1480,1484,1488,1492],{"type":39,"tag":320,"props":1477,"children":1478},{"style":332},[1479],{"type":45,"value":430},{"type":39,"tag":320,"props":1481,"children":1482},{"style":332},[1483],{"type":45,"value":435},{"type":39,"tag":320,"props":1485,"children":1486},{"style":332},[1487],{"type":45,"value":440},{"type":39,"tag":320,"props":1489,"children":1490},{"style":332},[1491],{"type":45,"value":445},{"type":39,"tag":320,"props":1493,"children":1494},{"style":364},[1495],{"type":45,"value":421},{"type":39,"tag":320,"props":1497,"children":1498},{"class":322,"line":480},[1499,1503,1507,1512,1516],{"type":39,"tag":320,"props":1500,"children":1501},{"style":332},[1502],{"type":45,"value":458},{"type":39,"tag":320,"props":1504,"children":1505},{"style":353},[1506],{"type":45,"value":463},{"type":39,"tag":320,"props":1508,"children":1509},{"style":332},[1510],{"type":45,"value":1511},"patient.drug.medicinalproduct:metformin",{"type":39,"tag":320,"props":1513,"children":1514},{"style":353},[1515],{"type":45,"value":473},{"type":39,"tag":320,"props":1517,"children":1518},{"style":364},[1519],{"type":45,"value":421},{"type":39,"tag":320,"props":1521,"children":1522},{"class":322,"line":971},[1523,1527,1531,1535,1539],{"type":39,"tag":320,"props":1524,"children":1525},{"style":332},[1526],{"type":45,"value":951},{"type":39,"tag":320,"props":1528,"children":1529},{"style":353},[1530],{"type":45,"value":463},{"type":39,"tag":320,"props":1532,"children":1533},{"style":332},[1534],{"type":45,"value":960},{"type":39,"tag":320,"props":1536,"children":1537},{"style":353},[1538],{"type":45,"value":473},{"type":39,"tag":320,"props":1540,"children":1541},{"style":364},[1542],{"type":45,"value":421},{"type":39,"tag":320,"props":1544,"children":1546},{"class":322,"line":1545},6,[1547,1551,1555,1559],{"type":39,"tag":320,"props":1548,"children":1549},{"style":332},[1550],{"type":45,"value":977},{"type":39,"tag":320,"props":1552,"children":1553},{"style":489},[1554],{"type":45,"value":492},{"type":39,"tag":320,"props":1556,"children":1557},{"style":332},[1558],{"type":45,"value":350},{"type":39,"tag":320,"props":1560,"children":1561},{"style":332},[1562],{"type":45,"value":1563}," \u002Ftmp\u002Fmetformin_reactions.json\n",{"type":39,"tag":320,"props":1565,"children":1567},{"class":322,"line":1566},7,[1568],{"type":39,"tag":320,"props":1569,"children":1571},{"emptyLinePlaceholder":1570},true,[1572],{"type":45,"value":1573},"\n",{"type":39,"tag":320,"props":1575,"children":1577},{"class":322,"line":1576},8,[1578],{"type":39,"tag":320,"props":1579,"children":1580},{"style":1247},[1581],{"type":45,"value":1582},"# Step 2: Look up the top reaction term using a biomedical ontology service\n",{"type":39,"tag":320,"props":1584,"children":1586},{"class":322,"line":1585},9,[1587],{"type":39,"tag":320,"props":1588,"children":1589},{"style":1247},[1590],{"type":45,"value":1591},"# skill (e.g. embl-ebi-ols skill).\n",{"type":39,"tag":320,"props":1593,"children":1595},{"class":322,"line":1594},10,[1596],{"type":39,"tag":320,"props":1597,"children":1598},{"style":1247},[1599],{"type":45,"value":1600},"# MedDRA is not available in OLS; use the Human Phenotype Ontology (HP) or\n",{"type":39,"tag":320,"props":1602,"children":1604},{"class":322,"line":1603},11,[1605],{"type":39,"tag":320,"props":1606,"children":1607},{"style":1247},[1608],{"type":45,"value":1609},"# NCI Thesaurus (NCIT) as a proxy to find the hierarchical classification of\n",{"type":39,"tag":320,"props":1611,"children":1613},{"class":322,"line":1612},12,[1614],{"type":39,"tag":320,"props":1615,"children":1616},{"style":1247},[1617],{"type":45,"value":1618},"# the reaction term.\n",{"type":39,"tag":48,"props":1620,"children":1622},{"id":1621},"available-endpoints-28-total",[1623],{"type":45,"value":1624},"Available Endpoints (28 total)",{"type":39,"tag":212,"props":1626,"children":1627},{},[1628],{"type":45,"value":1629},"Category to endpoint mapping:",{"type":39,"tag":184,"props":1631,"children":1632},{},[1633,1643,1653,1663,1673,1683,1693,1702],{"type":39,"tag":59,"props":1634,"children":1635},{},[1636,1641],{"type":39,"tag":67,"props":1637,"children":1639},{"className":1638},[],[1640],{"type":45,"value":685},{"type":45,"value":1642},": event, label, ndc, enforcement, drugsfda, shortages",{"type":39,"tag":59,"props":1644,"children":1645},{},[1646,1651],{"type":39,"tag":67,"props":1647,"children":1649},{"className":1648},[],[1650],{"type":45,"value":693},{"type":45,"value":1652},": 510k, classification, enforcement, event, pma, recall,\nregistrationlisting, udi, covid19serology",{"type":39,"tag":59,"props":1654,"children":1655},{},[1656,1661],{"type":39,"tag":67,"props":1657,"children":1659},{"className":1658},[],[1660],{"type":45,"value":700},{"type":45,"value":1662},": enforcement, event",{"type":39,"tag":59,"props":1664,"children":1665},{},[1666,1671],{"type":39,"tag":67,"props":1667,"children":1669},{"className":1668},[],[1670],{"type":45,"value":707},{"type":45,"value":1672},": problem, researchpreventionads, researchdigitalads,\nresearchsmokefree",{"type":39,"tag":59,"props":1674,"children":1675},{},[1676,1681],{"type":39,"tag":67,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":45,"value":714},{"type":45,"value":1682},": historicaldocument, nsde, substance, unii",{"type":39,"tag":59,"props":1684,"children":1685},{},[1686,1691],{"type":39,"tag":67,"props":1687,"children":1689},{"className":1688},[],[1690],{"type":45,"value":722},{"type":45,"value":1692},": event",{"type":39,"tag":59,"props":1694,"children":1695},{},[1696,1701],{"type":39,"tag":67,"props":1697,"children":1699},{"className":1698},[],[1700],{"type":45,"value":729},{"type":45,"value":1692},{"type":39,"tag":59,"props":1703,"children":1704},{},[1705,1710],{"type":39,"tag":67,"props":1706,"children":1708},{"className":1707},[],[1709],{"type":45,"value":736},{"type":45,"value":1711},": crl",{"type":39,"tag":48,"props":1713,"children":1715},{"id":1714},"reference",[1716],{"type":45,"value":1717},"Reference",{"type":39,"tag":184,"props":1719,"children":1720},{},[1721],{"type":39,"tag":59,"props":1722,"children":1723},{},[1724,1729,1731,1735],{"type":39,"tag":63,"props":1725,"children":1726},{},[1727],{"type":45,"value":1728},"Query syntax and all endpoints",{"type":45,"value":1730},": See\n",{"type":39,"tag":100,"props":1732,"children":1733},{"href":774},[1734],{"type":45,"value":774},{"type":45,"value":1736}," for field names,\nsearch syntax, date ranges, and boolean operators.",{"type":39,"tag":48,"props":1738,"children":1740},{"id":1739},"recipes",[1741],{"type":45,"value":1742},"Recipes",{"type":39,"tag":212,"props":1744,"children":1745},{},[1746,1748,1753],{"type":45,"value":1747},"Common query patterns for drugs, devices, foods, tobacco, cosmetics, animal and\nveterinary products, substances, transparency data, adverse events, recalls,\nlabeling, approvals, shortages, 510(k) clearances, NDC lookups, any FDA safety\nor regulatory data query, and more. See\n",{"type":39,"tag":100,"props":1749,"children":1751},{"href":1750},"references\u002Frecipes.md",[1752],{"type":45,"value":1750},{"type":45,"value":1754}," for the full recipes.",{"type":39,"tag":48,"props":1756,"children":1758},{"id":1757},"workflow",[1759],{"type":45,"value":1760},"Workflow",{"type":39,"tag":55,"props":1762,"children":1763},{},[1764,1784,1804,1823,1828],{"type":39,"tag":59,"props":1765,"children":1766},{},[1767,1769,1775,1777,1782],{"type":45,"value":1768},"Search for records using ",{"type":39,"tag":67,"props":1770,"children":1772},{"className":1771},[],[1773],{"type":45,"value":1774},"search",{"type":45,"value":1776}," with ",{"type":39,"tag":67,"props":1778,"children":1780},{"className":1779},[],[1781],{"type":45,"value":273},{"type":45,"value":1783},". Read the output file.",{"type":39,"tag":59,"props":1785,"children":1786},{},[1787,1789,1795,1796,1802],{"type":45,"value":1788},"Use ",{"type":39,"tag":67,"props":1790,"children":1792},{"className":1791},[],[1793],{"type":45,"value":1794},"count",{"type":45,"value":1776},{"type":39,"tag":67,"props":1797,"children":1799},{"className":1798},[],[1800],{"type":45,"value":1801},"--summary 10 --output",{"type":45,"value":1803}," to summarize field distributions.",{"type":39,"tag":59,"props":1805,"children":1806},{},[1807,1808,1814,1816,1821],{"type":45,"value":1788},{"type":39,"tag":67,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":45,"value":1813},"download",{"type":45,"value":1815}," (with ",{"type":39,"tag":67,"props":1817,"children":1819},{"className":1818},[],[1820],{"type":45,"value":1193},{"type":45,"value":1822}," for exhaustive pulls) to fetch larger\ndatasets.",{"type":39,"tag":59,"props":1824,"children":1825},{},[1826],{"type":45,"value":1827},"Read and analyze the output file using standard tools.",{"type":39,"tag":59,"props":1829,"children":1830},{},[1831],{"type":45,"value":1832},"For MedDRA term hierarchy questions, use a biomedical ontology service skill\n(e.g. EMBL-EBI OLS skill with the HP or NCIT ontology) to look up the term.",{"type":39,"tag":1834,"props":1835,"children":1836},"style",{},[1837],{"type":45,"value":1838},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1840,"total":1948},[1841,1858,1873,1893,1905,1920,1935],{"slug":1842,"name":1842,"fn":1843,"description":1844,"org":1845,"tags":1846,"stars":22,"repoUrl":23,"updatedAt":1857},"alphafold-database-fetch-and-analyze","retrieve and analyze AlphaFold protein structures","Retrieve and analyze AlphaFold predicted structures for a protein. Use when the user provides a specific UniProt Accession ID and wants structural confidence metrics (pLDDT), domain boundary analysis, or disorder assessment. Do not use if the user only has a protein name, gene name, or amino acid sequence — ask for a UniProt ID first.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1847,1850,1853,1854],{"name":1848,"slug":1849,"type":15},"Bioinformatics","bioinformatics",{"name":1851,"slug":1852,"type":15},"Genomics","genomics",{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},"Research","research","2026-07-12T07:51:51.827211",{"slug":1859,"name":1859,"fn":1860,"description":1861,"org":1862,"tags":1863,"stars":22,"repoUrl":23,"updatedAt":1872},"alphagenome-single-variant-analysis","analyze genetic variant effects with AlphaGenome","Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API. Use when the user asks about non-coding variant effects, pathogenicity, clinical significance, disease associations, functional effects, gene expression changes, splicing disruption, or regulatory effects in promoters and enhancers. Also use for resolving biological terms to tissue\u002Fcell-type ontologies (UBERON\u002FCL) or analyzing variants in chr:pos:ref>alt format.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1864,1865,1868,1869],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},"Genetics","genetics",{"name":1855,"slug":1856,"type":15},{"name":1870,"slug":1871,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":1874,"name":1874,"fn":1875,"description":1876,"org":1877,"tags":1878,"stars":22,"repoUrl":23,"updatedAt":1892},"chembl-database","query ChEMBL database for bioactive molecules","Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data, approved drugs, and chemical structures. Use when the user asks about compounds, targets, IC50\u002FKi values, drug mechanisms, or structure searches.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1879,1882,1885,1888,1891],{"name":1880,"slug":1881,"type":15},"ChEMBL","chembl",{"name":1883,"slug":1884,"type":15},"Chemistry","chemistry",{"name":1886,"slug":1887,"type":15},"Database","database",{"name":1889,"slug":1890,"type":15},"Pharmacology","pharmacology",{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:35.544306",{"slug":1894,"name":1894,"fn":1895,"description":1896,"org":1897,"tags":1898,"stars":22,"repoUrl":23,"updatedAt":1904},"clinical-trials-database","query clinical trial data","Query ClinicalTrials.gov via APIv2. Use when you want to search for trials by condition, drug, location, status, or phase; retrieve trial details by NCT ID; check eligibility\u002Finclusion criteria; count trials across conditions or time periods; identify a sponsor's trial portfolio; find recruiting trials for patient matching.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1899,1902,1903],{"name":1900,"slug":1901,"type":15},"Clinical Trials","clinical-trials",{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},"2026-07-12T07:52:06.846705",{"slug":1906,"name":1906,"fn":1907,"description":1908,"org":1909,"tags":1910,"stars":22,"repoUrl":23,"updatedAt":1919},"clinvar-database","retrieve clinical significance from ClinVar database","Use when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding \"hard positive\" benchmark controls for human genomic variants.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1911,1914,1915,1918],{"name":1912,"slug":1913,"type":15},"ClinVar","clinvar",{"name":1866,"slug":1867,"type":15},{"name":1916,"slug":1917,"type":15},"Healthcare","healthcare",{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:36.86094",{"slug":174,"name":174,"fn":1921,"description":1922,"org":1923,"tags":1924,"stars":22,"repoUrl":23,"updatedAt":1934},"manage and verify API credentials safely","Instructions for handling API keys and credentials safely, verifying their presence, and prompting the user to add them if missing using a safe protocol.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1925,1928,1931],{"name":1926,"slug":1927,"type":15},"Compliance","compliance",{"name":1929,"slug":1930,"type":15},"Operations","operations",{"name":1932,"slug":1933,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":1936,"name":1936,"fn":1937,"description":1938,"org":1939,"tags":1940,"stars":22,"repoUrl":23,"updatedAt":1947},"dbsnp-database","search genetic variants in dbSNP database","Use when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database. Resolves between rsIDs, genomic coordinates in VCF format, and HGVS strings. For an rsID, returns variant type, gene associations, clinical significance, allele frequencies, and genomic coordinates (GRCh38).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1941,1942,1943,1946],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},{"name":1944,"slug":1945,"type":15},"NCBI","ncbi",{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:33.054229",38,{"items":1950,"total":1948},[1951,1958,1965,1973,1979,1986,1992,1999,2011,2026,2037,2047],{"slug":1842,"name":1842,"fn":1843,"description":1844,"org":1952,"tags":1953,"stars":22,"repoUrl":23,"updatedAt":1857},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1954,1955,1956,1957],{"name":1848,"slug":1849,"type":15},{"name":1851,"slug":1852,"type":15},{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},{"slug":1859,"name":1859,"fn":1860,"description":1861,"org":1959,"tags":1960,"stars":22,"repoUrl":23,"updatedAt":1872},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1961,1962,1963,1964],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},{"name":1855,"slug":1856,"type":15},{"name":1870,"slug":1871,"type":15},{"slug":1874,"name":1874,"fn":1875,"description":1876,"org":1966,"tags":1967,"stars":22,"repoUrl":23,"updatedAt":1892},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1968,1969,1970,1971,1972],{"name":1880,"slug":1881,"type":15},{"name":1883,"slug":1884,"type":15},{"name":1886,"slug":1887,"type":15},{"name":1889,"slug":1890,"type":15},{"name":1855,"slug":1856,"type":15},{"slug":1894,"name":1894,"fn":1895,"description":1896,"org":1974,"tags":1975,"stars":22,"repoUrl":23,"updatedAt":1904},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1976,1977,1978],{"name":1900,"slug":1901,"type":15},{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},{"slug":1906,"name":1906,"fn":1907,"description":1908,"org":1980,"tags":1981,"stars":22,"repoUrl":23,"updatedAt":1919},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1982,1983,1984,1985],{"name":1912,"slug":1913,"type":15},{"name":1866,"slug":1867,"type":15},{"name":1916,"slug":1917,"type":15},{"name":1855,"slug":1856,"type":15},{"slug":174,"name":174,"fn":1921,"description":1922,"org":1987,"tags":1988,"stars":22,"repoUrl":23,"updatedAt":1934},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1989,1990,1991],{"name":1926,"slug":1927,"type":15},{"name":1929,"slug":1930,"type":15},{"name":1932,"slug":1933,"type":15},{"slug":1936,"name":1936,"fn":1937,"description":1938,"org":1993,"tags":1994,"stars":22,"repoUrl":23,"updatedAt":1947},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1995,1996,1997,1998],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},{"name":1944,"slug":1945,"type":15},{"name":1855,"slug":1856,"type":15},{"slug":2000,"name":2000,"fn":2001,"description":2002,"org":2003,"tags":2004,"stars":22,"repoUrl":23,"updatedAt":2010},"embl-ebi-ols","search biomedical ontologies in EMBL-EBI OLS","Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO, DOID, HP). Use when the user asks to search for terms, retrieve details, navigate hierarchies (parents, children, ancestors), look up properties and individuals, get autocomplete suggestions, or access ontology metadata and statistics.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2005,2006,2009],{"name":1848,"slug":1849,"type":15},{"name":2007,"slug":2008,"type":15},"Ontology","ontology",{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:59.368324",{"slug":2012,"name":2012,"fn":2013,"description":2014,"org":2015,"tags":2016,"stars":22,"repoUrl":23,"updatedAt":2025},"encode-ccres-database","query ENCODE regulatory and experimental data","Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human cell types.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2017,2018,2021,2022],{"name":1848,"slug":1849,"type":15},{"name":2019,"slug":2020,"type":15},"GraphQL","graphql",{"name":1855,"slug":1856,"type":15},{"name":2023,"slug":2024,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":2027,"name":2027,"fn":2028,"description":2029,"org":2030,"tags":2031,"stars":22,"repoUrl":23,"updatedAt":2036},"ensembl-database","query genomic and protein data from Ensembl","Query the Ensembl database to resolve gene, transcript, and protein IDs, fetch genomic or protein sequences, retrieve gene structures (exons), and get variant consequence and effect predictions (VEP). Use this skill as a primary ID translator, genomic sequence database and variant effect prediction tool.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2032,2033,2034,2035],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:41.645835",{"slug":2038,"name":2038,"fn":2039,"description":2040,"org":2041,"tags":2042,"stars":22,"repoUrl":23,"updatedAt":2046},"foldseek-structural-search","perform 3D protein structural searches","Performs 3D structural searches of proteins against various databases (PDB, AlphaFold, CATH, MGnify, etc.) using the Foldseek API. Use ONLY when the user provides a physical 3D coordinate file (.cif, .mmcif, or .pdb) and wants to find structurally similar proteins. Do NOT use if the user only provides a protein sequence, gene name, or UniProt ID.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2043,2044,2045],{"name":1848,"slug":1849,"type":15},{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},"2026-07-12T07:52:09.354992",{"slug":2048,"name":2048,"fn":2049,"description":2050,"org":2051,"tags":2052,"stars":22,"repoUrl":23,"updatedAt":2057},"gnomad-database","query genetic variant data from gnomAD","Query the Genome Aggregation Database (gnomAD). Use when determining the rarity or allele frequency of specific genetic variants, retrieving gene constraint metrics (pLI, LOEUF) to assess loss-of-function intolerance, finding variants in a genomic region or gene, or querying structural variants. Don't use for analyzing individual patient genomes, tracking somatic mutations in cancer (use COSMIC), or requesting raw sequencing reads (use ENA).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2053,2054,2055,2056],{"name":1848,"slug":1849,"type":15},{"name":1866,"slug":1867,"type":15},{"name":17,"slug":18,"type":15},{"name":1855,"slug":1856,"type":15},"2026-07-12T07:51:38.213009"]