Skip to content
Eden Engine

Live City Air Quality Ranking (Worst-to-Best AQI, Worldwide)

omnial/get-live-city-ranking

One call returns a live-updated list of major world cities ranked by current air quality index, worst air first, each with its country/state, current AQI, rank position, a url path slug identifying the city, and an IQAir community follower count for that city's page.

activeper callv2

Price

Up to $0.0137 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

IQAir

Data from IQAir.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/get-live-city-ranking" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/get-live-city-ranking" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-live-city-ranking", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-live-city-ranking", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0137
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "updatedAt": {
          "type": "string",
          "description": "ISO 8601 timestamp for the overall ranking snapshot."
        },
        "citiesData": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "aqi": {
                "type": "number",
                "description": "Current air quality index for this city."
              },
              "url": {
                "type": "string",
                "description": "Relative url path slug identifying this city on the vendor's site, e.g. '/malaysia/sarawak/kuching'. Its country/state/city segments are reusable as the country/state/city input slugs of a per-city air-quality lookup."
              },
              "city": {
                "type": "string",
                "description": "City display name, e.g. 'Kuching'."
              },
              "rank": {
                "type": "number",
                "description": "1-based position in this ranking; 1 is the worst AQI observed."
              },
              "state": {
                "type": "string",
                "description": "State/region display name."
              },
              "country": {
                "type": "string",
                "description": "Country display name."
              },
              "updatedAt": {
                "type": "string",
                "description": "ISO 8601 timestamp of this city's last reading update. A plain date-time string."
              },
              "followersCount": {
                "type": "number",
                "description": "Number of IQAir community followers for this city's page -- a platform popularity metric, not an air-quality measurement."
              }
            },
            "additionalProperties": true
          },
          "description": "125 cities on the one real call observed, ordered by `rank` ascending (rank 1 = worst current AQI in the ranking)."
        }
      },
      "additionalProperties": true
    },
    "status": {
      "type": "string",
      "description": "'success' on the one real call observed."
    }
  },
  "description": "The live ranking record. This endpoint takes no input, so every call returns the same kind of full, populated snapshot -- no empty/not-found case was observed or is expected.",
  "additionalProperties": true
}