# Interzoid Batch Match API

> Interzoid Batch Match API is a paid API for AI agents from match.interzoid.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Deduplicates and clusters records in a CSV/TSV file by appending a similarity key (SimKey) to each row, grouping near-duplicate company names, full names, or addresses.

## Facts

- Endpoint: GET https://match.interzoid.com/match?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/interzoid-batch-match-api-0bc4cf1b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_R4jFhKwkm02lrVaadHJXv

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 interzoid-batch-match-api-0bc4cf1b
```

Example prompt: I have a CSV file of company names at https://mybucket.s3.amazonaws.com/companies.csv — can you run a company-name-only match on column 1 to find and group all the near-duplicate entries?

## When to prefer this

Choose this endpoint when you have a large CSV or TSV file that needs batch fuzzy deduplication of company names, full names, or addresses — especially when you want records grouped by similarity key rather than a simple exact-match dedupe. It is purpose-built for entity resolution at scale and supports multiple matching strategies (company, name, address, or combinations) in a single call. Prefer it over single-record match APIs when processing entire datasets at once.

## Known failure modes

- Missing required query params (connection, filetype, function, company_column) returns a 400 error
- Inaccessible or non-public file URL results in a fetch error
- Invalid filetype or function enum value causes a parameter validation error
- Payment not provided or insufficient USDC via x402 protocol returns a 402 Payment Required
- Column index out of range for the given file causes a processing error
- Malformed CSV/TSV (inconsistent columns, encoding issues) may produce incomplete or garbled output

## How this service works

AI-powered batch data matching and deduplication over CSV/TSV files. Pay per record with USDC via the x402 protocol, or use an Interzoid API key.

## Output

A streamed CSV (or TSV) where every input row has a SimKey appended as the last column; rows that share a SimKey are near-duplicates, and clusters are separated by blank lines. Output is plain text, not JSON.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "connection",
      "filetype",
      "function",
      "company_column"
     ],
     "properties": {
      "filetype": {
       "type": "string",
       "description": "Input file format: csv or tsv."
      },
      "function": {
       "type": "string",
       "description": "Match function: company-name-only, fullname-only, address-only, company-and-address, company-and-fullname, address-and-fullname."
      },
      "showkeys": {
       "type": "string",
       "description": "true (default) appends the similarity key as the last column of each output record."
      },
      "connection": {
       "type": "string",
       "description": "Public URL (http/https) of the input CSV/TSV file, or an S3 object key in the configured bucket."
      },
      "has_header": {
       "type": "string",
       "description": "true if the input file's first row is a header record. That row is then excluded from matching and billing, and supplies the output column names. Default false."
      },
      "matchesonly": {
       "type": "string",
       "description": "true (default) returns only clusters of 2 or more records sharing a similarity key, grouped together. false returns every record with its similarity key."
      },
      "preserveorder": {
       "type": "string",
       "description": "false (default) sorts output by similarity key. true returns records in the same order as the input file, so output row N is input row N. Applies only when matchesonly is false; ignored for match reports."
      },
      "company_column": {
       "type": "string",
       "description": "1-based column index of the field to match (company, name, or address) per the chosen function."
      },
      "includeheaders": {
       "type": "string",
       "description": "true (default) writes a header row as the first output line."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "ty
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "format": "csv",
  "sample_row": "Gen Electric Corp,eF5gHi8jKl2mNo4p",
  "description": "Streamed CSV or TSV of matched records grouped by similarity key. Each row is an input record with the SimKey appended as the last column; clusters are separated by a blank line. Output is text, not JSON."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/interzoid-batch-match-api-0bc4cf1b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from match.interzoid.com](https://www.zero.xyz/host/match.interzoid.com/llms.txt)
