# Job Listing Inventories — String Normalisation + Keyed Dataset Comparison

> Job Listing Inventories — String Normalisation + Keyed Dataset Comparison is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-23).

Performs string normalisation and keyed dataset comparison on two sets of job listing inventory records (listing_count, duplicate_listings) for up to 200 rows each, returning 2 independent analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-company-13-036?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/job-listing-inventories-string-normalisation-keyed-dataset-comparison-28797ece
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-amYhYwhsuUPQeyST3fl4

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 job-listing-inventories-string-normalisation-keyed-dataset-comparison-28797ece -d '<json body>'
```

Example prompt: I have two sets of job listing inventory records for group-a and group-b from October 2026 — can you normalise the strings and run a keyed comparison between the two datasets to spot differences in listing_count and duplicate_listings?

## When to prefer this

Choose this endpoint when you need offline, deterministic string normalisation and keyed row-by-row comparison of two job listing inventory datasets (up to 200 rows each) without requiring live lookups, external integrations, or predictions. Ideal for data quality audits, change detection between two inventory snapshots, or pre-merge validation of job listing feeds.

## Known failure modes

- Input array exceeds 200 rows — request will be rejected
- Missing required fields (row_id, company_group, date, listing_count, duplicate_listings) on any row causes validation error
- Invalid date format (must match YYYY-MM-DD pattern) causes schema rejection
- row_id values that don't align between the two datasets may produce unmatched rows in comparison
- Null numeric values for listing_count or duplicate_listings may affect comparison completeness

## How this service works

Job listing inventories — String normalisation + Keyed dataset comparison: String normalisation + Keyed dataset comparison for supplied job listing inventories records (listing_count, duplicate_listings). 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 independent analytical reports: (1) a string normalisation report cleaning company_group and date fields across the submitted rows, and (2) a keyed dataset comparison report showing row-level differences in listing_count and duplicate_listings between the two supplied datasets, matched by row_id.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "company_group",
     "date",
     "listing_count",
     "duplicate_listings"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "company_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "listing_count": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "duplicate_listings": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "company_group": "group-a",
     "listing_count": 10,
     "duplicate_listings": 1
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "company_group": "group-b",
     "listing_count": 20,
     "duplicate_listings": 2
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "company_group": "group-a",
     "listing_count": 15,
     "duplicate_listings": 3
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "company_group": "group-b",
     "listing_count": 30,
     "duplicate_listings": 4
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "other": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "company_group",
     "date",
     "listing_count",
     "duplicate_listings"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "company_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "listing_count": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "duplicate_listings": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "a
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/job-listing-inventories-string-normalisation-keyed-dataset-comparison-28797ece/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)
