# Air Quality Observations — Keyed Dataset Comparison + Missing-Value Fill

> Air Quality Observations — Keyed Dataset Comparison + 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-10-24).

Compares two supplied air quality datasets row-by-row (by key) and fills explicit missing values for concentration and observation_count fields, returning two analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-10-190?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/air-quality-observations-keyed-dataset-comparison-missing-value-fill-403bc9f1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TDhESjiP98JIJS2k8-Cic

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 air-quality-observations-keyed-dataset-comparison-missing-value-fill-403bc9f1 -d '<json body>'
```

Example prompt: I have two sets of air quality readings from our monitoring stations — each up to 200 rows with concentration and observation_count fields, keyed by row_id, station_group, and date — can you run a keyed comparison between them and fill in any missing values, focusing on the concentration field?

## When to prefer this

Choose this endpoint when you have two pre-collected air quality observation datasets that need local, offline keyed comparison and missing-value imputation without any live data lookup or external API calls. It is ideal for data reconciliation workflows where you want deterministic, reproducible analysis on up to 200 rows per dataset at low cost ($0.01 USDC for both reports). Prefer this over live air quality APIs when your data is already collected and you need auditing or QA rather than real-time retrieval.

## Known failure modes

- Exceeding 200 rows in either dataset returns a validation error
- Missing required fields (row_id, station_group, date, concentration, observation_count) in any row causes rejection
- Invalid date format (not YYYY-MM-DD) triggers a pattern validation error
- Field selector not one of 'concentration' or 'observation_count' returns enum error
- Empty rows array (minItems: 1 violated) causes a schema error
- Numeric values outside allowed range cause boundary validation failures

## How this service works

Air quality observations — Keyed dataset comparison + Explicit missing-value fill: Keyed dataset comparison + Explicit missing-value fill for supplied air quality observations records (concentration, observation_count). 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

Returns two analytical reports: (1) a keyed dataset comparison showing row-by-row differences between the two supplied datasets on the selected field, and (2) an explicit missing-value fill report identifying and substituting null or absent values in concentration or observation_count columns, all processed locally without any external lookup.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/air-quality-observations-keyed-dataset-comparison-missing-value-fill-403bc9f1/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)
