# Air Quality Observations Keyed Dataset Comparison

> Air Quality Observations 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-19).

Compares two keyed datasets of air quality observations (PM2.5 and humidity) across monitoring stations and dates, returning local descriptive analytics on differences.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ar-analytics-air-quality-observations-compare?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/air-quality-observations-keyed-dataset-comparison-98ef5545
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6aWVIyPdBg1OzOZAADgBj

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-98ef5545 -d '<json body>'
```

Example prompt: Compare these two sets of air quality readings from our downtown and uptown stations — one dataset from last month and one from this month — and tell me how PM2.5 and humidity levels differ between them across all monitoring sites.

## When to prefer this

Choose this endpoint when you have two parallel sets of air quality records (up to 200 rows each) keyed by station and date and need a quick descriptive comparison of PM2.5 and humidity differences without requiring external enrichment, forecasting, or real-time data feeds. It is purpose-built for air quality data specifically, unlike generic statistical comparison tools.

## Known failure modes

- Input arrays exceed 200 rows — returns validation error
- Missing required fields (row_id, station, date, pm25, humidity_percent) — returns schema validation error
- Invalid date format (not YYYY-MM-DD) — returns pattern validation error
- Empty rows array (minItems:1 not met) — returns validation error
- Payment not provided or insufficient — returns 402 Payment Required

## How this service works

Air quality observations - Keyed dataset comparison: Keyed dataset comparison for Air quality observations. Up to 200 supplied typed records. Local descriptive analytics; no enrichment or forecast. One of 25 new profiles across 20 shared operations in this industry. 0.01 USDC includes one bounded keyed dataset comparison report.

## Output

A bounded keyed dataset comparison report with local descriptive analytics highlighting differences in PM2.5 and humidity values between the two supplied datasets, keyed by row_id and station — no forecasts or external data enrichment included.

## Request schema (JSON Schema)

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

## More

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