fda-safety-intel

FDA Safety Intelligence - Drug adverse events, food/drug/device recalls, enforcement actions. Real-time safety data from OpenFDA.

  • 9 Entrypoints
  • v1.0.0 Version
  • Enabled Payments
loyal-mercy-production.up.railway.app

Entrypoints

Explore the capabilities exposed by this agent. Invoke with JSON, stream responses when available, and inspect pricing where monetization applies.

overview

Invoke

Free overview of recent FDA safety activity - try before you buy. Shows recent recalls across drugs, food, and devices.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/overview/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/overview/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {}
    }
  '

drug-events

Invoke

Search drug adverse event reports. Find safety issues, side effects, and patient outcomes for specific drugs.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/drug-events/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "drug": {
      "type": "string",
      "description": "Drug name to search for"
    },
    "limit": {
      "default": 10,
      "description": "Number of results (1-100)",
      "type": "number"
    }
  },
  "required": [
    "drug",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/drug-events/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "drug": "<Drug name to search for>",
        "limit": 0
      }
    }
  '

drug-recalls

Invoke

Search drug recall enforcement actions. Get recall reasons, classifications, and affected products.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/drug-recalls/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "description": "Search term (drug name, company, etc.)",
      "type": "string"
    },
    "status": {
      "description": "Recall status filter",
      "type": "string",
      "enum": [
        "Ongoing",
        "Terminated",
        "Pending",
        "Completed"
      ]
    },
    "limit": {
      "default": 20,
      "description": "Number of results (1-100)",
      "type": "number"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/drug-recalls/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "limit": 0
      }
    }
  '

food-recalls

Invoke

Search food recall enforcement actions. Find contamination issues, allergen alerts, and affected food products.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/food-recalls/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "description": "Search term (product, company, etc.)",
      "type": "string"
    },
    "classification": {
      "description": "Recall class (I=most serious)",
      "type": "string",
      "enum": [
        "Class I",
        "Class II",
        "Class III"
      ]
    },
    "limit": {
      "default": 20,
      "description": "Number of results (1-100)",
      "type": "number"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/food-recalls/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "limit": 0
      }
    }
  '

device-recalls

Invoke

Search medical device recalls. Get root cause analysis, affected device codes, and corrective actions.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/device-recalls/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "description": "Search term (device type, manufacturer, etc.)",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Number of results (1-100)",
      "type": "number"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/device-recalls/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "limit": 0
      }
    }
  '

safety-report

Invoke

Comprehensive safety report for a drug - combines adverse events, recalls, and enforcement data in one call.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/safety-report/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "drug": {
      "type": "string",
      "description": "Drug name for comprehensive safety analysis"
    }
  },
  "required": [
    "drug"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/safety-report/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "drug": "<Drug name for comprehensive safety analysis>"
      }
    }
  '

analytics

Invoke

Payment analytics summary

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "description": "Time window in ms",
      "type": "number"
    }
  },
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/analytics/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "windowMs": 0
      }
    }
  '

analytics-transactions

Invoke

Recent payment transactions

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics-transactions/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "type": "number"
    },
    "limit": {
      "default": 50,
      "type": "number"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/analytics-transactions/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "limit": 0
      }
    }
  '

analytics-csv

Invoke

Export payment data as CSV

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics-csv/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://loyal-mercy-production.up.railway.app/entrypoints/analytics-csv/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "windowMs": 0
      }
    }
  '

Client Example: x402-fetch

Use the x402-fetch helpers to wrap a standard fetch call and automatically attach payments. This script loads configuration from .env, pays the facilitator, and logs both the response body and the decoded payment receipt.

import { config } from "dotenv";
import {
  decodeXPaymentResponse,
  wrapFetchWithPayment,
  createSigner,
  type Hex,
} from "x402-fetch";

config();

const privateKey = process.env.AGENT_WALLET_PRIVATE_KEY as Hex | string;
const agentUrl = process.env.AGENT_URL as string; // e.g. https://agent.example.com
const endpointPath = process.env.ENDPOINT_PATH as string; // e.g. /entrypoints/echo/invoke
const url = `${agentUrl}${endpointPath}`;

if (!agentUrl || !privateKey || !endpointPath) {
  console.error("Missing required environment variables");
  console.error("Required: AGENT_WALLET_PRIVATE_KEY, AGENT_URL, ENDPOINT_PATH");
  process.exit(1);
}

/**
 * Demonstrates paying for a protected resource using x402-fetch.
 *
 * Required environment variables:
 * - AGENT_WALLET_PRIVATE_KEY    Wallet private key for signing payments
 * - AGENT_URL                   Base URL of the agent server
 * - ENDPOINT_PATH               Endpoint path (e.g. /entrypoints/echo/invoke)
 */
async function main(): Promise<void> {
  // const signer = await createSigner("solana-devnet", privateKey); // uncomment for Solana
  const signer = await createSigner("base-sepolia", privateKey);
  const fetchWithPayment = wrapFetchWithPayment(fetch, signer);

  const response = await fetchWithPayment(url, { method: "GET" });
  const body = await response.json();
  console.log(body);

  const paymentResponse = decodeXPaymentResponse(
    response.headers.get("x-payment-response")!
  );
  console.log(paymentResponse);
}

main().catch((error) => {
  console.error(error?.response?.data?.error ?? error);
  process.exit(1);
});

Manifest

Loading…
Fetching agent card…