openapi: 3.0.3 info: title: Weather Source Nowcast API description: | Nowcast weather data for latitude/longitude points, ZIP/Postal Codes, Designated Market Areas, and OnPoint™ points. The Weather Source Nowcast API is built upon the [OnPoint™ Platform](https://weathersource.com/products/onpoint-platform/) which ensures data that is gap-free, homogeneous, and ready for immediate analysis. We offer the highest resolution grid on the market, covering every landmass in the world and up to 200 miles offshore. An API key is required to authorize requests. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). termsOfService: https://weathersource.com/company/legal/terms-of-service/ contact: name: Weather Source APIs url: https://developer.weathersourceapis.com/ email: support@weathersource.com version: 2.0.0 servers: - url: https://nowcast.weathersourceapis.com/v2 security: - ApiKeyAuth: [] tags: - name: points description: Latitude/Longitude nowcast - name: postcodes description: Postcode nowcast - name: dmas description: Designated Market Area nowcast - name: onpoints description: OnPoint™ point nowcast paths: /points/{latitude},{longitude}: get: tags: - points summary: A nowcast for a Latitude/Longitude point. description: Returns nowcast data for a Latitude/Longitude point. parameters: - name: latitude in: path description: A latitude value between -90° and 90°. required: true schema: maximum: 90.0 minimum: -90.0 type: number format: float example: 38.8552 - name: longitude in: path description: A longitude value between -180° (West) and 180° (East). required: true schema: maximum: 180.0 minimum: -180.0 type: number format: float example: -77.0513 - name: fields in: query description: | A comma separated list of field names to return. The timestamp field is always returned. **Limiting the query to needed fields will improve the query response time.** In addition to individual field names, following convenience field groups are also supported: * all *(all fields)* * allCldCvr *(cldCvr)* * allHum *(relHum, spcHum)* * allPrecip *(precipFlag, precipIntensity, snowfallFlag, snowfallIntensity)* * allPres *(mslPres, presTend, sfcPres)* * allRad *(radSolar)* * allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)* * allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)* * popular *(cldCvr, feelsLike, precipFlag, precipIntensity, relHum, snowfallFlag, snowfallIntensity, temp, windDir, windSpd)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - cldCvr - dewPt - feelsLike - heatIndex - mslPres - precipFlag - precipIntensity - presTend - radSolar - relHum - sfcPres - snowfallFlag - snowfallIntensity - spcHum - temp - wetBulb - windChill - windDir - windDir80m - windDir100m - windSpd - windSpd80m - windSpd100m - all - allCldCvr - allHum - allPrecip - allPres - allRad - allTemp - allWind - popular - name: unitScale in: query description: The unit scale for returned values.
required: false schema: type: string example: IMPERIAL default: IMPERIAL enum: - IMPERIAL - METRIC - SI responses: "200": description: Nowcast response for a Latitude/Longitude point. content: application/json: schema: $ref: '#/components/schemas/nowcastPointObj' default: description: Unexpected error response content: application/json: schema: $ref: '#/components/schemas/errorObj' /postcodes/{postcode},{countryCode}: get: tags: - postcodes summary: A nowcast for a postcode. description: Returns nowcast data for a postcode. parameters: - name: postcode in: path description: A postcode string. required: true schema: type: string example: "22222" - name: countryCode in: path description: An uppercase 2-character [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/). required: true schema: pattern: ^([A-Z]){2}$ type: string example: US - name: fields in: query description: | A comma separated list of field names to return. The timestamp field is always returned. **Limiting the query to needed fields will improve the query response time.** In addition to individual field names, following convenience field groups are also supported: * all *(all fields)* * allCldCvr *(cldCvr)* * allHum *(relHum, spcHum)* * allPrecip *(precipFlag, precipIntensity, snowfallFlag, snowfallIntensity)* * allPres *(mslPres, presTend, sfcPres)* * allRad *(radSolar)* * allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)* * allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)* * popular *(cldCvr, feelsLike, precipFlag, precipIntensity, relHum, snowfallFlag, snowfallIntensity, temp, windDir, windSpd)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - cldCvr - dewPt - feelsLike - heatIndex - mslPres - precipFlag - precipIntensity - presTend - radSolar - relHum - sfcPres - snowfallFlag - snowfallIntensity - spcHum - temp - wetBulb - windChill - windDir - windDir80m - windDir100m - windSpd - windSpd80m - windSpd100m - all - allCldCvr - allHum - allPrecip - allPres - allRad - allTemp - allWind - popular - name: unitScale in: query description: The unit scale for returned values.
required: false schema: type: string example: IMPERIAL default: IMPERIAL enum: - IMPERIAL - METRIC - SI responses: "200": description: Nowcast response for a postcode. content: application/json: schema: $ref: '#/components/schemas/nowcastPostcodeObj' default: description: Unexpected error response content: application/json: schema: $ref: '#/components/schemas/errorObj' /dmas/{dmaId}: get: tags: - dmas summary: A nowcast for a DMA. description: Returns nowcast data for a Designated Market Area. parameters: - name: dmaId in: path description: A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/). required: true schema: type: integer example: 529 - name: fields in: query description: | A comma separated list of field names to return. The timestamp field is always returned. **Limiting the query to needed fields will improve the query response time.** In addition to individual field names, following convenience field groups are also supported: * all *(all fields)* * allCldCvr *(cldCvr)* * allHum *(relHum, spcHum)* * allPrecip *(precipFlag, precipIntensity, snowfallFlag, snowfallIntensity)* * allPres *(mslPres, presTend, sfcPres)* * allRad *(radSolar)* * allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)* * allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)* * popular *(cldCvr, feelsLike, precipFlag, precipIntensity, relHum, snowfallFlag, snowfallIntensity, temp, windDir, windSpd)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - cldCvr - dewPt - feelsLike - heatIndex - mslPres - precipFlag - precipIntensity - presTend - radSolar - relHum - sfcPres - snowfallFlag - snowfallIntensity - spcHum - temp - wetBulb - windChill - windDir - windDir80m - windDir100m - windSpd - windSpd80m - windSpd100m - all - allCldCvr - allHum - allPrecip - allPres - allRad - allTemp - allWind - popular - name: unitScale in: query description: The unit scale for returned values.
required: false schema: type: string example: IMPERIAL default: IMPERIAL enum: - IMPERIAL - METRIC - SI responses: "200": description: Nowcast response for a Designated Market Area. content: application/json: schema: $ref: '#/components/schemas/nowcastDmaObj' default: description: Unexpected error response content: application/json: schema: $ref: '#/components/schemas/errorObj' /onpoints/{onpointId}: get: tags: - onpoints summary: A nowcast for an OnPoint™ point. description: Returns nowcast data for an OnPoint™ point. parameters: - name: onpointId in: path description: An OnPoint™ ID. required: true schema: type: integer example: 10725864 - name: fields in: query description: | A comma separated list of field names to return. The timestamp field is always returned. **Limiting the query to needed fields will improve the query response time.** In addition to individual field names, following convenience field groups are also supported: * all *(all fields)* * allCldCvr *(cldCvr)* * allHum *(relHum, spcHum)* * allPrecip *(precipFlag, precipIntensity, snowfallFlag, snowfallIntensity)* * allPres *(mslPres, presTend, sfcPres)* * allRad *(radSolar)* * allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)* * allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)* * popular *(cldCvr, feelsLike, precipFlag, precipIntensity, relHum, snowfallFlag, snowfallIntensity, temp, windDir, windSpd)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - cldCvr - dewPt - feelsLike - heatIndex - mslPres - precipFlag - precipIntensity - presTend - radSolar - relHum - sfcPres - snowfallFlag - snowfallIntensity - spcHum - temp - wetBulb - windChill - windDir - windDir80m - windDir100m - windSpd - windSpd80m - windSpd100m - all - allCldCvr - allHum - allPrecip - allPres - allRad - allTemp - allWind - popular - name: unitScale in: query description: The unit scale for returned values.
required: false schema: type: string example: IMPERIAL default: IMPERIAL enum: - IMPERIAL - METRIC - SI responses: "200": description: Nowcast response for an OnPoint™ point. content: application/json: schema: $ref: '#/components/schemas/nowcastOnpointObj' default: description: Unexpected error response content: application/json: schema: $ref: '#/components/schemas/errorObj' components: schemas: fieldListObj: title: fieldListObj required: - fields type: object properties: fields: $ref: '#/components/schemas/fields' description: A list of returned field names the associated units. example: fields: timestamp: 'Timestamp as string: RFC 3339' cldCvr: Percent value in [0,100] dewPt: Fahrenheit feelsLike: Fahrenheit heatIndex: Fahrenheit mslPres: Millibars precipFlag: Boolean value precipIntensity: Inches presTend: Millibars radSolar: Watts per Square Meter relHum: Percent value in [0,100] sfcPres: Millibars snowfallFlag: Boolean value snowfallIntensity: Inches spcHum: Grams of Moisture per Kilograms of Air temp: Fahrenheit wetBulb: Fahrenheit windChill: Fahrenheit windDir: Degrees [0,360] (0 = North) windDir100m: Degrees [0,360] (0 = North) windDir80m: Degrees [0,360] (0 = North) windSpd: Miles per Hour windSpd100m: Miles per Hour windSpd80m: Miles per Hour nowcastArr: type: array description: An array of nowcast objects. items: $ref: '#/components/schemas/nowcastObj' nowcastObj: required: - timestamp type: object properties: timestamp: $ref: '#/components/schemas/timestamp' cldCvr: $ref: '#/components/schemas/cldCvr' dewPt: $ref: '#/components/schemas/dewPt' feelsLike: $ref: '#/components/schemas/feelsLike' heatIndex: $ref: '#/components/schemas/heatIndex' mslPres: $ref: '#/components/schemas/mslPres' precipFlag: $ref: '#/components/schemas/precipFlag' precipIntensity: $ref: '#/components/schemas/precipIntensity' presTend: $ref: '#/components/schemas/presTend' radSolar: $ref: '#/components/schemas/radSolar' relHum: $ref: '#/components/schemas/relHum' sfcPres: $ref: '#/components/schemas/sfcPres' snowfallFlag: $ref: '#/components/schemas/snowfallFlag' snowfallIntensity: $ref: '#/components/schemas/snowfallIntensity' spcHum: $ref: '#/components/schemas/spcHum' temp: $ref: '#/components/schemas/temp' wetBulb: $ref: '#/components/schemas/wetBulb' windChill: $ref: '#/components/schemas/windChill' windDir: $ref: '#/components/schemas/windDir' windDir80m: $ref: '#/components/schemas/windDir80m' windDir100m: $ref: '#/components/schemas/windDir100m' windSpd: $ref: '#/components/schemas/windSpd' windSpd80m: $ref: '#/components/schemas/windSpd80m' windSpd100m: $ref: '#/components/schemas/windSpd100m' description: A nowcast object. nowcastPointObj: required: - dateRange - fieldList - location - nowcast type: object properties: location: $ref: '#/components/schemas/pointObj' fieldList: $ref: '#/components/schemas/fieldListObj' nowcast: $ref: '#/components/schemas/nowcastArr' description: Latitude/Longitude nowcast object nowcastPostcodeObj: required: - dateRange - fieldList - location - nowcast type: object properties: location: $ref: '#/components/schemas/postcodeObj' fieldList: $ref: '#/components/schemas/fieldListObj' nowcast: $ref: '#/components/schemas/nowcastArr' description: Postcode nowcast object nowcastDmaObj: required: - dateRange - fieldList - location - nowcast type: object properties: location: $ref: '#/components/schemas/dmaObj' fieldList: $ref: '#/components/schemas/fieldListObj' nowcast: $ref: '#/components/schemas/nowcastArr' description: Designated Market Area nowcast object nowcastOnpointObj: required: - dateRange - fieldList - location - nowcast type: object properties: location: $ref: '#/components/schemas/onpointObj' fieldList: $ref: '#/components/schemas/fieldListObj' nowcast: $ref: '#/components/schemas/nowcastArr' description: OnPoint™ point nowcast object cldCvr: maximum: 100 minimum: 0 type: number description: Cloud Cover as a percent value. format: float example: 100 dewPt: type: number description: Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 45.92 feelsLike: type: number description: Feels Like Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 46.75 heatIndex: type: number description: Heat Index in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 46.75 mslPres: type: number description: Mean Sea Level Pressure in millibars. format: float example: 1017.46 precipFlag: type: boolean description: A boolean value that indicates if there is precipitation in the vicinity of the queried location. example: false precipIntensity: type: number description: Amount of precipitation expected within one hour at the current intensity in inches (imperial) or centimeters (metric, si). format: float example: 0.01 presTend: type: number description: Pressure Tendency in millibars. format: float example: -0.67 radSolar: type: number description: Solar Radiation in watts per square meter. format: float example: 0 relHum: maximum: 100 minimum: 0 type: number description: Relative humidity as a percent value. format: float example: 96.87 sfcPres: type: number description: Surface pressure in millibars. format: float example: 1013.83 snowfallFlag: type: boolean description: A boolean value that indicates if there is snowfall in the vicinity of the queried location. example: false snowfallIntensity: type: number description: Amount of snowfall expected within one hour at the current intensity in inches (imperial) or centimeters (metric, si). format: float example: 0 spcHum: type: number description: Specific humidity in grams per kilograms. format: float example: 6.49 temp: type: number description: Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 46.75 wetBulb: type: number description: Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 46.32 windChill: type: number description: Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si). format: float example: 46.75 windDir: maximum: 360 minimum: 0 type: number description: Wind direction at 10 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270). format: float example: 302.6 windDir80m: maximum: 360 minimum: 0 type: number description: Wind direction at 80 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270). format: float example: 111.89 windDir100m: maximum: 360 minimum: 0 type: number description: Wind direction at 100 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270). format: float example: 148.96 windSpd: type: number description: Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si). format: float example: 0.84 windSpd80m: type: number description: Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si). format: float example: 4.38 windSpd100m: type: number description: Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si). format: float example: 6.66 errorObj: type: object properties: errorCode: maximum: 600 minimum: 100 type: integer example: 404 errorMessage: type: string example: NOT FOUND. Item not found. fields: type: object additionalProperties: type: string description: Unit value for field identified in the related key. example: Fahrenheit timestamp: type: string description: A timestamp formatted as an RFC3339 date-time value. format: date-time example: 2019-12-20T23:00:00-05:00 pointObj: required: - boundingPoints - grid - latitude - longitude - timezone type: object properties: latitude: $ref: '#/components/schemas/latitude' longitude: $ref: '#/components/schemas/longitude' timezone: $ref: '#/components/schemas/timezone' countryCode: $ref: '#/components/schemas/countryCode' countryName: $ref: '#/components/schemas/countryName' subdivCode: $ref: '#/components/schemas/subdivCode' subdivName: $ref: '#/components/schemas/subdivName' boundingPoints: $ref: '#/components/schemas/boundingPoints' grid: $ref: '#/components/schemas/grid' description: Metadata object for a postcode latitude: maximum: 90.0 minimum: -90.0 type: number description: A latitude value between -90° and 90°. format: float example: 38.8552 longitude: maximum: 180.0 minimum: -180.0 type: number description: A longitude value between -180° (West) and 180° (East). format: float example: -77.0513 timezone: type: string description: An Olson timezone ID. example: America/New_York countryCode: type: string description: An [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/). example: US countryName: type: string description: A common country name. example: United States of America subdivCode: type: string description: An ISO 3166-2 country subdivision code. example: US-VA subdivName: type: string description: A common country subdivision name. example: Virginia boundingPoints: type: array description: A list of OnPoint™ points related to the location items: $ref: '#/components/schemas/boundingPoints_inner' onpointId: type: integer description: An OnPoint™ ID. example: 10725864 grid: type: string description: The OnPoint™ grid on which the resource exists. example: NORTH_AMERICA_GRID enum: - GLOBAL_GRID - NORTH_AMERICA_GRID distance: type: number description: A distance from the provided point in miles. format: float example: 2.6772 postcodeObj: required: - boundingPoints - countryCode - countryName - grid - latitude - latitude - longitude - postcode - timezone type: object properties: postcode: $ref: '#/components/schemas/postcode' latitude: $ref: '#/components/schemas/latitude' longitude: $ref: '#/components/schemas/longitude' timezone: $ref: '#/components/schemas/timezone' countryCode: $ref: '#/components/schemas/countryCode' countryName: $ref: '#/components/schemas/countryName' subdivCode: $ref: '#/components/schemas/subdivCode' subdivName: $ref: '#/components/schemas/subdivName' boundingPoints: $ref: '#/components/schemas/boundingPoints' grid: $ref: '#/components/schemas/grid' description: A postcode location metadata object postcode: type: string description: A postcode string. example: "22222" dmaObj: required: - countryCode - countryName - dmaId - dmaName - grid - population - samplePoints - timezone type: object properties: dmaId: $ref: '#/components/schemas/dmaId' dmaName: $ref: '#/components/schemas/dmaName' timezone: $ref: '#/components/schemas/timezone' population: $ref: '#/components/schemas/population' countryCode: $ref: '#/components/schemas/countryCode' countryName: $ref: '#/components/schemas/countryName' samplePoints: $ref: '#/components/schemas/samplePoints' grid: $ref: '#/components/schemas/grid' description: A Designated Market Area location metadata object dmaId: type: integer description: A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/). example: 529 dmaName: type: string description: A Designated Market Area name. example: Louisville population: type: integer description: The population as represented in the 2010 census. example: 1584746 samplePoints: type: array description: A list of OnPoint™ points used for interpolation for the Designated Market Area. These points are the OnPoint™ ID closest to the centroid of the 10 most populous postcodes within the target DMA. items: $ref: '#/components/schemas/samplePoints_inner' distancePop: type: integer description: The difference in population for the whole Designated Market Area and the population for the postcode represented by this sample point. example: 1536552 onpointObj: required: - grid - latitude - longitude - onpointId - timezone type: object properties: onpointId: $ref: '#/components/schemas/onpointId' latitude: $ref: '#/components/schemas/latitude' longitude: $ref: '#/components/schemas/longitude' timezone: $ref: '#/components/schemas/timezone' countryCode: $ref: '#/components/schemas/countryCode' countryName: $ref: '#/components/schemas/countryName' subdivCode: $ref: '#/components/schemas/subdivCode' subdivName: $ref: '#/components/schemas/subdivName' grid: $ref: '#/components/schemas/grid' description: An OnPoint™ point location metadata object boundingPoints_inner: required: - distance - grid - latitude - longitude - onpointId type: object properties: onpointId: $ref: '#/components/schemas/onpointId' latitude: $ref: '#/components/schemas/latitude' longitude: $ref: '#/components/schemas/longitude' grid: $ref: '#/components/schemas/grid' distance: $ref: '#/components/schemas/distance' samplePoints_inner: required: - distance - grid - latitude - longitude - onpointId type: object properties: onpointId: $ref: '#/components/schemas/onpointId' latitude: $ref: '#/components/schemas/latitude' longitude: $ref: '#/components/schemas/longitude' grid: $ref: '#/components/schemas/grid' distance: $ref: '#/components/schemas/distancePop' parameters: fields: name: fields in: query description: | A comma separated list of field names to return. The timestamp field is always returned. **Limiting the query to needed fields will improve the query response time.** In addition to individual field names, following convenience field groups are also supported: * all *(all fields)* * allCldCvr *(cldCvr)* * allHum *(relHum, spcHum)* * allPrecip *(precipFlag, precipIntensity, snowfallFlag, snowfallIntensity)* * allPres *(mslPres, presTend, sfcPres)* * allRad *(radSolar)* * allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)* * allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)* * popular *(cldCvr, feelsLike, precipFlag, precipIntensity, relHum, snowfallFlag, snowfallIntensity, temp, windDir, windSpd)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - cldCvr - dewPt - feelsLike - heatIndex - mslPres - precipFlag - precipIntensity - presTend - radSolar - relHum - sfcPres - snowfallFlag - snowfallIntensity - spcHum - temp - wetBulb - windChill - windDir - windDir80m - windDir100m - windSpd - windSpd80m - windSpd100m - all - allCldCvr - allHum - allPrecip - allPres - allRad - allTemp - allWind - popular securitySchemes: ApiKeyAuth: type: apiKey description: |- API key to authorize requests. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You can use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv`. This evaluation API Key can only access the example locations found in this documentation. name: X-API-KEY in: header