quarry
API reference

Discovery contract (GET)

Read a dataset's payment options and request and response schemas without payment.

A GET to a published dataset returns a JSON contract without payment. Use it to check the query format, payment options, and discovery links:

curl https://quarry.market/{username}/{slug}

Response

This example shows a dataset offering both x402 and a monthly subscription:

{
  "name": "SEC filings 2025",
  "description": "Quarterly and annual filings for S&P 500 companies.",
  "payment": {
    "protocol": "x402",
    "price_usdc": 0.01,
    "network": "base",
    "caip2": "eip155:8453"
  },
  "request": {
    "method": "POST",
    "url": "https://quarry.market/alice/sec-filings",
    "content_type": "application/json",
    "body": {
      "query": "string, required, max 2000 chars",
      "top_k": "integer, optional, 1-20, default 5"
    }
  },
  "response": {
    "dataset": { "slug": "string", "name": "string" },
    "query": "string",
    "results": "array of { content, score, vector_score, text_score, rerank_score, filename, chunk_index, heading, heading_path, page_start, page_end }"
  },
  "error_response": {
    "error": {
      "code": "string stable error code",
      "message": "string human-readable message",
      "details": "optional structured details"
    }
  },
  "listing": "https://quarry.market/explore/alice/sec-filings",
  "mcp": {
    "endpoint": "https://quarry.market/api/mcp",
    "transport": "streamable-http",
    "tools": ["search", "get_dataset", "ask", "x402_payment_guide"]
  },
  "subscription_offer": {
    "id": "f4b3a1a3-6eb9-42f2-8138-331f8c1eb0f6",
    "price_cents": 2900,
    "currency": "usd",
    "interval": "month",
    "quota": 3000,
    "license": "Use excerpts in internal analysis. Do not redistribute the source files."
  },
  "agent_mcp": "https://quarry.market/api/agent/mcp"
}

Fields

FieldMeaning
paymentx402 payment details, or null when pay per query is disabled
payment.price_usdcCost of one POST query, in USDC
payment.networkPayment network: base (mainnet) or base-sepolia (testnet)
payment.caip2Network identifier used by x402: eip155:8453 for Base or eip155:84532 for Base Sepolia
requestMethod, URL, content type, and body schema for the public x402 query route; this route does not consume subscription quota
response / error_responseResponse formats described in Query a dataset and Error codes
listingDataset's catalog page
mcpThe MCP discovery server and its tools
subscription_offerCurrent monthly offer, when available; price is in USD cents, with a per-period query quota and usage terms
agent_mcpAuthenticated MCP endpoint, included with an available monthly offer

subscription_offer and agent_mcp are omitted when no monthly offer is available. This public response does not identify the caller or report their subscription access. Use authenticated quote_access to obtain the dataset ID, current offer ID, and account quota before subscribing or querying.

Discovery responses are cached. A recent price change or unpublish action may take time to appear here. The payment requirements returned by POST reflect the price used for that request.

An unknown or unpublished dataset returns 404 with the application error format once any cached response expires. Paid access to a retiring dataset remains available through the authenticated agent routes until the paid period ends.

On this page