ToolAssay

Scored drug-market and company safety briefs from openFDA, FDA, BLS and Clinical

Scored drug-market and company safety briefs from openFDA, FDA, BLS and ClinicalTrials.gov: recalls, adverse events, approvals, trial pipelines, shortages, device safety, warning letters and drug prices, for the US market and for Pfizer, Lilly and J&J. Each is a 0-100 score with drivers and citations. POST /v1/brief with {vertical}. Research signal, not medical or investment advice.

Answeringour last check, 2026-10-10
1 of 1checks answered this week
912 msmedian answer time
$0.005listed price per call
$0.005price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://agent.pocket.network/v1/pmic-pharma-signals

CategoryCompany and compliance
Provider hostagent.pocket.network
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days43 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-10 valid payment request 402$0.005 912 ms

Example input (from the provider)

{
  "body": {
    "entity_id": "lly",
    "horizon": "365d",
    "vertical": "company-safety"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "description": "The body of POST /v1/brief; company-safety and clinical-pipeline also need entity_id. The other routes take JSON bodies too: /v1/verticals takes {}; /v1/overview takes entity_id and horizon; /v1/signals takes source_id, horizon, sort, direction, min_confidence and limit; /v1/signal and /v1/explain take series_id; /v1/catalog takes entity_id and q; /v1/events takes entity_id, event_type, severity, since and limit.",
          "properties": {
            "entity_id": {
              "description": "The drug maker, for the company verticals.",
              "enum": [
                "pfe",
                "lly",
                "jnj"
              ],
              "type": "string"
            },
            "horizon": {
              "description": "The window the trend is measured over.",
              "enum": [
                "7d",
                "30d",
                "90d",
                "365d"
              ],
              "type": "string"
            },
            "vertical": {
              "description": "Which brief to score.",
              "enum": [
                "drug-market",
                "company-safety",
                "clinical-pipeline",
                "drug-shortages",
                "device-safety",
                "drug-prices",
                "fda-enforcement"
              ],
              "type": "string"
            }
          },
          "required": [
            "vertical"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "data": {
              "description": "The answer to POST /v1/brief. score, label and trend_basis are null on insufficient_data briefs; entity is an object on company briefs. Errors return {error: {code, message}} with HTTP 400; other routes return their own JSON objects (see the openapi spec).",
              "properties": {
                "citations": {
                  "items": {
                    "properties": {
                      "label": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "confidence": {
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "drivers": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "entity": {
                  "description": "The company ({entity_id, name, ...}) on company briefs; absent otherwise."
                },
                "horizon": {
                  "type": "string"
                },
                "inputs": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "label": {
                  "description": "The vertical's label for the score, or null with no score."
                },
                "pack_version": {
                  "type": "string"
                },
                "question": {
                  "type": "string"
                },
                "recent_events": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "risk_flags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "score": {
                  "description": "Integer 0-100, or null when status is insufficient_data."
                },
                "service": {
                  "type": "string"
                },
                "status": {
                  "enum": [
                    "ok",
                    "insufficient_data"
                  ],
                  "type": "string"
                },
                "summary": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "trend": {
                  "type": "string"
                },
                "trend_basis": {
                  "description": "score_history, input_trends, or null when there is no trend."
                },
                "vertical": {
                  "type": "string"
                },
                "watch": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "portal": {
              "properties": {
                "provenance": {
                  "const": "third-party-supplier"
                },
                "schemaCheck": {
                  "enum": [
                    "passed",
     

This page as JSON