Api Endpoint

cited-research

Jev-powered research: routed search, cited answer, claims verified against sources. Ask a question, get a 5-8 sentence answer, each claim tagged to a numbered source, built from real page content - no invented facts. A fast paid LLM writes it, under 4.5s guaranteed; on a rare miss, a no-LLM extractive fallback (top sentences from the sources, picked by Jev) takes over instead, marked "synthesis":"extractive". Try GET /research/sample.

Open interactive test console

Offering

Provider
x402.agentindex.world
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Web Search Research
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.agentindex.world/research
MIME type
application/json
First seen
2026-10-16T01:50:38.788Z
Last seen
Tags
research report with sources, cited answer, web research

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.015 USDC
Atomic price: 15000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "15000",
    "payTo": "0xb3F32bdfe8D07825BC0D7387295aB1D7559BA69d"
  }
]

Observed health

Status
Reachable
Latest latency
1251 ms
Average latency
1325 ms
HTTP status
405
Last checked
Reachability
100% over 11 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "properties": {
        "query": {
          "type": "string",
          "description": "The research question to answer, up to 500 characters."
        },
        "max_sources": {
          "type": "integer",
          "description": "How many web sources to consider, 1-10. Default 5."
        }
      },
      "required": [
        "query"
      ]
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "max_sources": {
              "description": "How many web sources to consider, 1-10. Default 5.",
              "type": "integer"
            },
            "query": {
              "description": "The research question to answer, up to 500 characters.",
              "type": "string"
            }
          },
          "required": [
            "query"
          ]
        },
        "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": {
            "answer": {
              "description": "5-8 sentences, each claim cited inline as [n] referring to the sources array (1-indexed).",
              "type": "string"
            },
            "claims_verified": {
              "description": "True only if a Jev check confirmed the answer's citations are supported. False if unsupported OR if verification was skipped/timed out - see claims_verified_reason.",
              "type": "boolean"
            },
            "claims_verified_reason": {
              "description": "Why claims_verified is false: 'jev_found_unsupported_claim', 'verification_timed_out_or_failed', 'insufficient_time_budget_remaining', or null when verified true.",
              "type": [
                "string",
                "null"
              ]
            },
            "query": {
              "type": "string"
            },
            "sources": {
              "items": {
                "properties": {
                  "published_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "synthesis": {
              "description": "'llm' when a paid fast model wrote the answer (the common case). 'extractive' when that model missed its own tight time cap and the answer is instead the most relevant sentences already present in the sources, verbatim, picked by Jev - never a second LLM call.",
              "enum": [
                "llm",
                "extractive"
              ],
              "type": "string"
            },
            "timing_ms": {
              "description": "search, synthesis, verify, total, in milliseconds.",
              "type": "object"
            },
            "x402_receipt": {
              "description": "Billing and provenance receipt for this call.",
              "type": "object"
            }
          },
          "required": [
            "query",
            "answer",
            "synthesis",
            "sources",
            "claims_verified",
            "timing_ms"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}