patent-agent

Search and retrieve US patent data from PatentsView

  • 6 Entrypoints
  • v1.0.0 Version
  • Enabled Payments
patent-agent-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.

health

Invoke

Health check endpoint

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/health/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://patent-agent-production.up.railway.app/entrypoints/health/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {}
    }
  '

search

Invoke

Search patents by keyword in title

Pricing Invoke: 0.005
Network base
Invoke Endpoint POST /entrypoints/search/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search keyword"
    },
    "limit": {
      "default": 10,
      "description": "Max results (1-100)",
      "type": "number"
    }
  },
  "required": [
    "query",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://patent-agent-production.up.railway.app/entrypoints/search/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "query": "<Search keyword>",
        "limit": 0
      }
    }
  '

patent

Invoke

Get detailed patent information by patent number

Pricing Invoke: 0.005
Network base
Invoke Endpoint POST /entrypoints/patent/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "patentId": {
      "type": "string",
      "description": "Patent number (e.g., '7861317')"
    }
  },
  "required": [
    "patentId"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://patent-agent-production.up.railway.app/entrypoints/patent/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "patentId": "<Patent number (e.g., '7861317')>"
      }
    }
  '

recent

Invoke

Get recently granted patents within a date range

Pricing Invoke: 0.005
Network base
Invoke Endpoint POST /entrypoints/recent/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "startDate": {
      "type": "string",
      "description": "Start date (YYYY-MM-DD)"
    },
    "endDate": {
      "type": "string",
      "description": "End date (YYYY-MM-DD)"
    },
    "limit": {
      "default": 25,
      "description": "Max results",
      "type": "number"
    }
  },
  "required": [
    "startDate",
    "endDate",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://patent-agent-production.up.railway.app/entrypoints/recent/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "startDate": "<Start date (YYYY-MM-DD)>",
        "endDate": "<End date (YYYY-MM-DD)>",
        "limit": 0
      }
    }
  '

inventor

Invoke

Find patents by inventor name

Pricing Invoke: 0.005
Network base
Invoke Endpoint POST /entrypoints/inventor/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Inventor name (first or last)"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://patent-agent-production.up.railway.app/entrypoints/inventor/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "name": "<Inventor name (first or last)>"
      }
    }
  '

company

Invoke

Find patents by company/assignee name

Pricing Invoke: 0.005
Network base
Invoke Endpoint POST /entrypoints/company/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company or organization name"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://patent-agent-production.up.railway.app/entrypoints/company/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "name": "<Company or organization name>"
      }
    }
  '

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…