# URL Canonicalization — String Normalisation + Explicit Missing-Value Fill

> URL Canonicalization — String Normalisation + Explicit Missing-Value Fill is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-11-03).

Normalises string fields and fills missing values for observed_urls and unique_urls columns in URL canonicalization datasets of up to 200 rows, producing two analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-web-20-037?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-03
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/url-canonicalization-string-normalisation-explicit-missing-value-fill-013524a2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vBsWs0eDHeZBAuMMWYd3x

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 url-canonicalization-string-normalisation-explicit-missing-value-fill-013524a2 -d '<json body>'
```

Example prompt: I have a batch of URL canonicalization records with some missing observed_urls values — can you normalize the strings and fill in those nulls using the median method? I have about 50 rows with date, row_id, site_group, observed_urls, and unique_urls columns.

## When to prefer this

Choose this endpoint when you have URL canonicalization tabular data (with observed_urls and unique_urls columns) that needs both string normalisation and explicit missing-value imputation in a single call, at low cost ($0.01 USDC for both reports). It is best suited for offline batch cleaning of up to 200 rows where no live lookup or external enrichment is needed. Prefer this over more complex pipeline tools when the task is purely local data cleaning with imputation method control (zero, mean, or median).

## Known failure modes

- More than 200 rows submitted — request rejected or truncated
- Invalid date format not matching YYYY-MM-DD pattern — validation error
- Missing required fields (row_id, site_group, date) — schema validation failure
- Field enum value not recognised (must be 'observed_urls' or 'unique_urls') — error
- Method enum value not recognised (must be 'zero', 'mean', or 'median') — error
- Numeric values outside allowed range (±1,000,000,000,000) — rejection
- Empty rows array — minimum 1 item required

## How this service works

URL canonicalization — String normalisation + Explicit missing-value fill: String normalisation + Explicit missing-value fill for supplied url canonicalization records (observed_urls, unique_urls). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Two analytical reports covering: (1) string normalisation results for the supplied URL canonicalization records, and (2) explicit missing-value fill results for the specified field (observed_urls or unique_urls) using the chosen imputation method (zero, mean, or median). Reports cover up to 200 input rows and are generated using local analytical engines with no external lookups.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "site_group",
     "date",
     "observed_urls",
     "unique_urls"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "site_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "unique_urls": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "observed_urls": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "site_group": "group-a",
     "unique_urls": 1,
     "observed_urls": 10
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "site_group": "group-b",
     "unique_urls": 2,
     "observed_urls": 20
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "site_group": "group-a",
     "unique_urls": 3,
     "observed_urls": 15
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "site_group": "group-b",
     "unique_urls": 4,
     "observed_urls": 30
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "field": {
   "enum": [
    "observed_urls",
    "unique_urls"
   ],
   "type": "string",
   "default": "observed_urls"
  },
  "method": {
   "enum": [
    "zero",
    "mean",
    "median"
   ],
   "type": "string",
   "default": "median"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/url-canonicalization-string-normalisation-explicit-missing-value-fill-013524a2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
