BYTETOOLS

Meteo.lt API

Free Lithuanian weather API with no key: hourly long-term forecasts from the national service, with feels-like temperature, gusts and condition codes. Tested example included.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 21 Aug 2026

What is the Meteo.lt API?

Meteo.lt is the Lithuanian Hydrometeorological Service's open API, free of any key. A place's long-term forecast returns hourly entries with air and feels-like temperature, wind speed and gust, cloud cover, pressure, humidity, precipitation and a condition code.

Small national meteorological services rarely publish a clean modern API, which makes this one worth knowing about. Places are addressed by human-readable slug — `vilnius`, `kaunas` — rather than by coordinates or an opaque station id, so the URLs are readable and you can construct them without a lookup step in the common case.

The hourly granularity is the appeal. Where many free forecast APIs give you daily minima and maxima, this returns an entry per hour with `feelsLikeTemperature` computed alongside the air temperature and `windGust` separate from mean wind speed — the two fields that matter for deciding whether to cycle to work. `conditionCode` is a readable string such as `partly-cloudy` rather than a numeric code needing a lookup table, which is a small kindness. Timestamps are `YYYY-MM-DD HH:MM:SS` in UTC with no timezone marker, so parse them as UTC explicitly.

Quick facts

Base URL
https://api.meteo.lt/v1
Authentication
No API key and no registration. Attribution to the Lithuanian Hydrometeorological Service is requested.
Rate limit
Published as a fair-use policy; the service asks clients not to poll faster than the forecast updates.
Pricing
Free. Lithuanian government open data.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Meteo.lt API

Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch an hourly long-term forecast

GET https://api.meteo.lt/v1/places/vilnius/forecasts/long-term

curl
curl 'https://api.meteo.lt/v1/places/vilnius/forecasts/long-term'
JavaScript (fetch)
const res = await fetch("https://api.meteo.lt/v1/places/vilnius/forecasts/long-term");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.meteo.lt/v1/places/vilnius/forecasts/long-term", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "place": {
    "code": "vilnius",
    "name": "Vilnius",
    "administrativeDivision": "Vilniaus miesto savivaldybė",
    "country": "Lietuva",
    "countryCode": "LT",
    "coordinates": {
      "latitude": 54.68705,
      "longitude": 25.28291
    }
  },
  "forecastType": "long-term",
  "forecastCreationTimeUtc": "2026-08-21 05:17:36",
  "forecastTimestamps": [
    {
      "forecastTimeUtc": "2026-08-21 07:00:00",
      "airTemperature": 18.1,
      "feelsLikeTemperature": 18.1,
      "windSpeed": 2,
      "windGust": 6,
      "windDirection": 194,
      "cloudCover": 29,
      "seaLevelPressure": 1011,
      "relativeHumidity": 86,
      "totalPrecipitation": 0,
      "conditionCode": "partly-cloudy"
    },
    {
      "forecastTimeUtc": "2026-08-21 08:00:00",
      "airTemperature": 20.3,
      "feelsLikeTemperature": 20.3,
      "windSpeed": 2,
      "windGust": 6,
      "windDirection": 198,
      "cloudCover": 4,
      "seaLevelPressure": 1011,
      "relativeHumidity": 79,
      "totalPrecipitation": 0,
      "conditionCode": "clear"
    },
    {
      "forecastTimeUtc": "2026-08-21 09:00:00",
      "airTemperature": 22.1,
      "feelsLikeTemperature": 22.1,
      "windSpeed": 3,
      "windGust": 6,
      "windDirection": 204,
      "cloudCover": 49,
      "seaLevelPressure": 1011,
      "relativeHumidity": 71,
      "totalPrecipitation": 0,
      "conditionCode": "partly-cloudy"
    },
    {
      "forecastTimeUtc": "2026-08-21 10:00:00",
      "airTemperature": 23.2,
      "feelsLikeTemperature": 23.2,
      "windSpeed": 3,
      "windGust": 7,
      "windDir

Parameters

ParameterTypeRequiredDescription
(place code)pathRequiredPlace slug such as `vilnius` or `kaunas`. Fetch `/v1/places` for the full list. vilnius
(forecast type)pathRequired`long-term` is the hourly multi-day forecast. It is the only type currently published. long-term
/placespathOptionalEvery available place with its code, name and coordinates.
/stationspathOptionalObservation stations and their recorded readings, as opposed to forecasts.

Response fields

placeobject
The location: `code`, `name`, `administrativeDivision`, `country`, `countryCode` and `coordinates`. Names are Lithuanian.
forecastTypestring
Echoes the forecast type requested.
forecastCreationTimeUtcstring
When the model run was produced. Compare it against your cache before re-fetching.
forecastTimestampsarray
Hourly forecast entries.
forecastTimestamps[].forecastTimeUtcstring
`YYYY-MM-DD HH:MM:SS` in UTC with no offset marker. Parse as UTC explicitly.
forecastTimestamps[].airTemperature / feelsLikeTemperaturefloat
Degrees Celsius, actual and apparent.
forecastTimestamps[].windSpeed / windGustinteger
Metres per second, mean and gust. Gust is the one that matters for cycling and sailing.
forecastTimestamps[].windDirectioninteger
Degrees, meteorological convention — the direction the wind is coming from.
forecastTimestamps[].cloudCoverinteger
Percentage.
forecastTimestamps[].seaLevelPressureinteger
Hectopascals.
forecastTimestamps[].relativeHumidityinteger
Percentage.
forecastTimestamps[].totalPrecipitationfloat
Millimetres for that hour.
forecastTimestamps[].conditionCodestring
Readable condition such as `partly-cloudy` or `rain` — no lookup table needed.

What you can build with the Meteo.lt API

  • Build a Lithuanian weather app on official national data
  • Drive cycling or outdoor scheduling from hourly gust forecasts
  • Compare feels-like against actual temperature through a cold snap
  • Combine forecast and station observation data for verification

Common errors and how to fix them

404 on a place

The slug was guessed rather than taken from the places list.

Fix: Fetch `/v1/places` and use the `code` values it publishes. Diacritics are stripped in the slugs.

Times off by hours

Timestamps are UTC but carry no offset marker.

Fix: Parse `forecastTimeUtc` as UTC explicitly. A naive parser will treat it as local time.

Wind speed looks low

Values are metres per second, not kilometres per hour.

Fix: Multiply by 3.6 for km/h. A gust of 6 m/s is about 22 km/h.

Same forecast on every call

The model runs on a schedule.

Fix: Check `forecastCreationTimeUtc`. Polling more often than the model updates returns identical data.

Meteo.lt API — frequently asked questions

Is the Meteo.lt API free?

Yes, free with no key or registration. It is Lithuanian government open data, and attribution to the Hydrometeorological Service is requested.

How do I find a place code?

Fetch `/v1/places` for the full list. Codes are lowercase slugs with diacritics stripped, so Vilnius is `vilnius`.

What units does it use?

Celsius for temperature, metres per second for wind, hectopascals for pressure, millimetres for precipitation and percentages for humidity and cloud cover.

Does it cover anywhere outside Lithuania?

No. It is the Lithuanian national service, and the places list is Lithuanian locations only.

Tools that pair with this API

Alternatives to Meteo.lt API

If Meteo.lt does not fit, these weather apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
Open-MeteoFree weather forecast API with no API key and no signup. Hourly and daily forecasts worldwide, free for commercial use. Working curl example and live response.No keyYes19 Aug 2026
Open-Meteo Air QualityFree air quality API with no key: PM2.5, PM10, ozone, nitrogen dioxide, European and US AQI plus pollen forecasts worldwide. Tested curl example included.No keyYes19 Aug 2026
wttr.inwttr.in is a free console-oriented weather API with no key. Get weather as plain text, ASCII art, PNG or full JSON with one curl command. Live example included.No keyYes19 Aug 2026
Open-Meteo GeocodingFree geocoding API with no key: convert a city or place name into latitude and longitude, with population, country and timezone. Tested curl example and live JSON.No keyYes19 Aug 2026
NOAA NCEI Natural HazardsFree natural hazards API with no key: NOAA's historical tsunami, significant earthquake and volcanic eruption databases, filterable by year, region and magnitude. Tested example included.No keyYes21 Aug 2026
NOAA National Weather ServiceFree US National Weather Service API with no key: official forecasts, active severe weather alerts, radar stations and observations. Government source. Tested.No keyYes20 Aug 2026
All Weather APIs

Meteo.lt is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.