---
title: "Find web pages similar to a source URL with Exa (MPP)"
method: POST
path: "/v1/mpp/exa/find-similar"
tags: ["Proxy"]
---

# Find web pages similar to a source URL with Exa (MPP)

`POST /v1/mpp/exa/find-similar`

## Request

- Base URL: `https://api.munition.io`
- URL: `https://api.munition.io/v1/mpp/exa/find-similar`
- Auth: none required

Munition Exa Find Similar over MPP: Find web pages similar to a source URL with Exa. Pay 0.01 USDC per call on Base/Polygon/Arbitrum via Authorization: Payment (stablecoin-only EIP-3009 charge authorization). Same input, output and failure policy as POST /v1/exa/find-similar.

## Headers

- `Idempotency-Key` string

## Request body

- ExaFindSimilarInput
  - `url` string, uri, required: Seed URL.
  - `numResults` integer
  - `excludeSourceDomain` boolean
  - `includeDomains` string[]
  - `excludeDomains` string[]
  - `contents` object: Which page contents to include. Omit for metadata only.
    - `text` union
      - boolean
      - object
        - `maxCharacters` integer
    - `highlights` union
      - boolean
      - object
        - `numSentences` integer
        - `highlightsPerUrl` integer
    - `summary` union
      - boolean
      - object
        - `query` string

## Response `200`

Successful response

- ExaFindSimilarOutput
  - `query` string, required
  - `results` object[], required
    - `title` string, nullable
    - `url` string, uri, required
    - `publishedDate` string, nullable
    - `author` string, nullable
    - `score` number, nullable
    - `text` string, nullable: Page text when contents were requested.
    - `highlights` string[]
    - `summary` string, nullable
  - `searchType` string
  - `meta` object, required
    - `resultCount` integer, required
    - `searchedAt` string, date-time, required

## Other responses

- `400`: Invalid input on an authorized request; rejected before the MPP payment is settled.
- `402`: Call without Authorization to receive an MPP challenge, then retry with Authorization: Payment <credential>. Invalid payment and settlement failures can also return 402.
- `409`: Idempotency conflict; do not pay again
- `422`: Upstream provider rejected the request after settlement (client-side error); payment is kept, paidCallId returned for reconciliation.
- `502`: Upstream provider failed after settlement; payment is kept, paidCallId returned for reconciliation.
- `503`: MPP settlement in progress or ambiguous; retry with the same Authorization, Idempotency-Key and body. Do not pay again.

---

[API](https://skmtc.dev/munition/apis/munition-api.md) · [All operations](https://skmtc.dev/munition/apis/munition-api/llms.txt) · [OpenAPI document](https://skmtc.dev/munition/apis/munition-api/revisions/3b11109809d1?raw)
