openapi: 3.1.0 info: title: World Air Quality Index (WAQI) JSON Feed Search API description: The WAQI JSON API provides real-time air quality data, AQI readings, pollutant measurements, and station data for more than 12,000 monitoring stations worldwide. It delivers city-level and station-level air quality index values for pollutants including PM2.5, PM10, NO2, CO, SO2, and Ozone, along with geo-location queries, weather conditions, and 3-8 day forecast data. Authentication requires a free token obtained from the Air Quality Open Data Platform. version: 1.0.0 contact: name: WAQI Support url: https://aqicn.org/api/ license: name: Non-Commercial Use url: https://aqicn.org/api/ termsOfService: https://aqicn.org/api/ servers: - url: https://api.waqi.info description: WAQI Production API security: - tokenAuth: [] tags: - name: Search description: Search for monitoring stations by keyword paths: /search/: get: operationId: searchStations summary: Search for monitoring stations by keyword description: Searches for air quality monitoring stations by name or keyword, including native language names. Returns a list of matching stations with their AQI values and location details. tags: - Search parameters: - name: keyword in: query required: true description: Search keyword — station name or any name referring to the station, including native language names. schema: type: string example: Johannesburg - name: token in: query required: true description: API authentication token. schema: type: string example: demo responses: '200': description: Successful response with list of matching monitoring stations content: application/json: schema: $ref: '#/components/schemas/SearchResponse' example: status: ok data: - uid: 8397 aqi: '68' time: stime: '2024-01-15 12:00:00' vtime: 1705320000 station: name: Johannesburg South, South Africa geo: - -26.2041 - 28.0473 url: johannesburg-south/south-africa country: ZA '400': description: Missing or invalid keyword content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Invalid or missing API token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: StationInfo: type: object description: Information about a monitoring station properties: name: type: string description: Full station name including city and country example: Johannesburg South, South Africa geo: type: array description: Geographic coordinates [latitude, longitude] items: type: number format: float minItems: 2 maxItems: 2 example: - -26.2041 - 28.0473 url: type: string description: Relative URL path to the station page on aqicn.org example: johannesburg-south/south-africa country: type: string description: ISO 3166-1 alpha-2 country code example: ZA required: - name - geo - url SearchResponse: type: object description: Response from the station search endpoint properties: status: type: string enum: - ok - error description: Response status indicator data: type: array description: List of matching monitoring stations items: $ref: '#/components/schemas/SearchResult' required: - status - data ErrorResponse: type: object description: Error response returned when a request fails properties: status: type: string enum: - error description: Always 'error' for error responses data: type: string description: Human-readable error message example: Unknown city or station required: - status - data SearchResult: type: object description: A single monitoring station search result properties: uid: type: integer description: Unique station identifier in the WAQI network example: 8397 aqi: type: string description: Current AQI value (may be a string '-' if unavailable) example: '68' time: type: object properties: stime: type: string description: Station local time string example: '2024-01-15 12:00:00' vtime: type: integer description: Unix epoch timestamp example: 1705320000 station: $ref: '#/components/schemas/StationInfo' required: - uid - aqi - station securitySchemes: tokenAuth: type: apiKey in: query name: token description: API token obtained from the Air Quality Open Data Platform at https://aqicn.org/data-platform/token/ externalDocs: description: WAQI JSON API Documentation url: https://aqicn.org/json-api/doc/