# Polymarket Order Books (Batch)

> Polymarket Order Books (Batch) is a paid API for AI agents from AIsa MPP Data APIs at api.aisa.one, paid per call via MPP, $0.012/call, status unknown (last checked 2026-10-18).

Retrieves order book snapshots (bids, asks, last trade price, tick size) for one or more Polymarket token IDs in a single request.

## Facts

- Endpoint: POST https://api.aisa.one/apis/v1/polymarket/books?utm_source=zero.xyz
- Price: $0.012/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Provider: AIsa MPP Data APIs
- Website: https://aisa.one
- Tags: web-search, financial-data, prediction-markets, weather, travel, data, search
- Canonical page: https://www.zero.xyz/c/aisa-mpp-data-apis-polymarket-order-books-batch-1d19c945
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nBnugcNo56GVBzjC74H9q

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aisa-mpp-data-apis-polymarket-order-books-batch-1d19c945 -d '<json body>'
```

Example prompt: Can you pull the current order book for these two Polymarket tokens — 0xabc123def456 and 0xdef789abc012 — and tell me the best bid, best ask, and last trade price for each?

## When to prefer this

Use this endpoint when you need to fetch order book data for one or more Polymarket prediction market tokens in a single call, especially when batch retrieval is needed. Prefer this over single-token endpoints when querying multiple markets simultaneously to reduce round trips. Ideal for agents monitoring liquidity, computing spreads, or checking execution conditions before placing trades on Polymarket.

## Known failure modes

- Invalid or non-existent token_id returns an empty or error response
- Malformed request body (missing required token_id field) returns a validation error
- Rate limiting or upstream Polymarket API downtime causes request failure
- Stale data if Polymarket's order book feed is delayed
- Empty bids or asks arrays for illiquid or inactive markets

## How this service works

Retrieves order book summaries for multiple token IDs using a request body.

<!-- aisa-pricing:start -->
Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Output

An array of order book objects, one per requested token ID. Each object contains the market condition ID, asset ID, a timestamp, a hash of the snapshot, sorted lists of bid orders (price descending) and ask orders (price ascending) each with price and size, the minimum order size, the tick size, a neg_risk boolean, and the last trade price.

## Request schema (JSON Schema)

```json
{
 "type": "array",
 "items": {
  "type": "object",
  "required": [
   "token_id"
  ],
  "properties": {
   "side": {
    "enum": [
     "BUY",
     "SELL"
    ],
    "type": "string",
    "example": "BUY",
    "description": "Order side (optional, not used for midpoint calculation)"
   },
   "token_id": {
    "type": "string",
    "example": "0xabc123def456...",
    "description": "Token ID (asset ID)"
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "array",
 "items": {
  "type": "object",
  "required": [
   "market",
   "asset_id",
   "timestamp",
   "hash",
   "bids",
   "asks",
   "min_order_size",
   "tick_size",
   "neg_risk",
   "last_trade_price"
  ],
  "properties": {
   "asks": {
    "type": "array",
    "items": {
     "type": "object",
     "required": [
      "price",
      "size"
     ],
     "properties": {
      "size": {
       "type": "string",
       "example": "100",
       "description": "Order size"
      },
      "price": {
       "type": "string",
       "example": "0.45",
       "description": "Order price"
      }
     }
    },
    "description": "List of ask orders (sorted by price ascending)"
   },
   "bids": {
    "type": "array",
    "items": {
     "type": "object",
     "required": [
      "price",
      "size"
     ],
     "properties": {
      "size": {
       "type": "string",
       "example": "100",
       "description": "Order size"
      },
      "price": {
       "type": "string",
       "example": "0.45",
       "description": "Order price"
      }
     }
    },
    "description": "List of bid orders (sorted by price descending)"
   },
   "hash": {
    "type": "string",
    "example": "a1b2c3d4e5f6...",
    "description": "Hash of the order book summary"
   },
   "market": {
    "type": "string",
    "example": "0x1234567890123456789012345678901234567890",
    "description": "Market condition ID"
   },
   "asset_id": {
    "type": "string",
    "example": "0xabc123def456...",
    "description": "Token ID (asset ID)"
   },
   "neg_risk": {
    "type": "boolean",
    "example": false,
    "description": "Whether negative risk is enabled for this market"
   },
   "tick_size": {
    "type": "string",
    "example": "0.01",
    "description": "Minimum price increment (tick size)"
   },
   "timestamp": {
    "type": "string",
    "example": "1234567890",
    "description": "Timestamp of the order book snapshot"
   },
   "min_order_size": {
    "type": "string",
    "example": "1",
    "description": "Minimum order size"
   },
   "last_trade_price": {
    "type": "string",
    "example": "0.45",
    "description": "Last trade price"
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aisa-mpp-data-apis-polymarket-order-books-batch-1d19c945/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.aisa.one](https://www.zero.xyz/host/api.aisa.one/llms.txt)
