Our database receives data from over 20 different data sources. These data sources feed into our system with varying lag times ranging from 15 minutes (MADIS station data) to 7-10 days (Reanalysis data). This can result in historical data being corrected with higher quality observations as the lagging (higher quality) datasets feed in.

You may use the "revision_status", and "revision_version" fields to determine whether or not you will need to retrieve updated data at a later date.

The "revision_status" field will return "interim" for data still awaiting updates, and "final" for data that has been finalized such that it is considered the highest quality currently available. Most historical endpoints reach this final state within 10 days.

To ensure our service always returns the best possible data for every location - on rare occasions - it is necessary to make changes to either calculated fields, or the underlying data (even when in a "final" state). In this case the "revision_version" field will indicate an updated version number.

revision_version: "MAJOR_VERSION.MINOR_VERSION" - Example: "1.0"

The minor version will update when:

  • Improvements have been made to calculations of derived fields.
  • Bug fixes or minor improvements have been made that may only impact specific locations or time frames.

The major version will update when:

  • There are new historical dataset(s) added.
  • Major updates to station/data source selection have been made.
  • Changes or fixes have been made that impact all data returned by the API.

In general, revision_status = "final" data is considered high the highest quality data currently available. It will be suitable for scientific research, and most business needs.

However, if your use case is such that you must constantly maintain the highest quality data in a locally hosted database, then we recommend also periodically checking for the revision_version updates.

Example:




{
   "city_id":"4161685",
   "city_name":"Lawtey",
   "country_code":"US",
   "data":[
      {
         "clouds":50,
         "datetime":"2022-11-12",
         "dewpt":65.8,
         ...,
         "revision_status":"final",
         "revision_version": "1.1",
         ...
      }
   ],
   "lat":30.149230998969,
   "lon":-82.01068631381,
   "sources":[
      "722067-63823",
      "US1FLCY0040",
      "US1FLCY0012",
      "US1FLCY0009",
      "imerg",
      "merra2",
      "era5",
      "modis"
   ],
   "state_code":"FL",
   "station_id":"722067-63823",
   "timezone":"America/New_York"
}

When the "revision_status" field is set to "final" the data is no longer subject to possible revisions. However, it is still subject future version updates.



{
   "city_id":"4161685",
   "city_name":"Lawtey",
   "country_code":"US",
   "data":[
      {
         "clouds":67,
         "datetime":"2022-11-21",
         ...,
         "revision_status":"interim",
         "revision_version": "0.0",
         ...
      }
   ],
   "lat":30.149230998969,
   "lon":-82.01068631381,
   "sources":[
      "722067-63823",
      "US1FLCY0040",
      "US1FLCY0012",
      "US1FLCY0009",
      "imerg",
      "merra2",
      "era5",
      "modis"
   ],
   "state_code":"FL",
   "station_id":"722067-63823",
   "timezone":"America/New_York"
}

When the "revision_status" field is set to "interim" the data may receive updates in the coming days. In this case, there is no need to check revision_version, it will always be "0.0" for interim data.

To get only the revision_version value without querying for historical data, you can simply use the Historical Revision Version API.

https://api.weatherbit.io/v2.0/history/revision_version

Which will return JSON like:

{
  "revision_version": "1.0"
}