curl --request POST \
--url https://api.iklim.co/v1/forecasts/daily \
--header 'Content-Type: application/json' \
--data '
{
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"metrics": [
"TEMPERATURE_MAX",
"TEMPERATURE_MIN"
],
"forecastDays": 7,
"startTime": 1746454091000
}
'import requests
url = "https://api.iklim.co/v1/forecasts/daily"
payload = {
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"metrics": ["TEMPERATURE_MAX", "TEMPERATURE_MIN"],
"forecastDays": 7,
"startTime": 1746454091000
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
location: {lng: 32.857358, lat: 39.93504},
metrics: ['TEMPERATURE_MAX', 'TEMPERATURE_MIN'],
forecastDays: 7,
startTime: 1746454091000
})
};
fetch('https://api.iklim.co/v1/forecasts/daily', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iklim.co/v1/forecasts/daily",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => [
'lng' => 32.857358,
'lat' => 39.93504
],
'metrics' => [
'TEMPERATURE_MAX',
'TEMPERATURE_MIN'
],
'forecastDays' => 7,
'startTime' => 1746454091000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.iklim.co/v1/forecasts/daily"
payload := strings.NewReader("{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.iklim.co/v1/forecasts/daily")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iklim.co/v1/forecasts/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}"
response = http.request(request)
puts response.read_body{
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"timezone": "Europe/Istanbul",
"elevation": 897.5,
"weatherIconUrlBase": "https://api-test.iklim.co/v1/weather-icons",
"metricForecasts": [
{
"metric": "TEMPERATURE",
"unit": "°C",
"forecasts": [
{
"time": "2025-04-14T16:58:22Z",
"isDay": true,
"value": 23.5,
"icon": "sunny"
}
]
}
],
"warnings": [
"The provided metric is not valid for this request: TEMPERATURE_SUM"
]
}Daily Forecast Operation
Returns aggregated daily weather metrics for the requested location.
curl --request POST \
--url https://api.iklim.co/v1/forecasts/daily \
--header 'Content-Type: application/json' \
--data '
{
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"metrics": [
"TEMPERATURE_MAX",
"TEMPERATURE_MIN"
],
"forecastDays": 7,
"startTime": 1746454091000
}
'import requests
url = "https://api.iklim.co/v1/forecasts/daily"
payload = {
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"metrics": ["TEMPERATURE_MAX", "TEMPERATURE_MIN"],
"forecastDays": 7,
"startTime": 1746454091000
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
location: {lng: 32.857358, lat: 39.93504},
metrics: ['TEMPERATURE_MAX', 'TEMPERATURE_MIN'],
forecastDays: 7,
startTime: 1746454091000
})
};
fetch('https://api.iklim.co/v1/forecasts/daily', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iklim.co/v1/forecasts/daily",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => [
'lng' => 32.857358,
'lat' => 39.93504
],
'metrics' => [
'TEMPERATURE_MAX',
'TEMPERATURE_MIN'
],
'forecastDays' => 7,
'startTime' => 1746454091000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.iklim.co/v1/forecasts/daily"
payload := strings.NewReader("{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.iklim.co/v1/forecasts/daily")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iklim.co/v1/forecasts/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": {\n \"lng\": 32.857358,\n \"lat\": 39.93504\n },\n \"metrics\": [\n \"TEMPERATURE_MAX\",\n \"TEMPERATURE_MIN\"\n ],\n \"forecastDays\": 7,\n \"startTime\": 1746454091000\n}"
response = http.request(request)
puts response.read_body{
"location": {
"lng": 32.857358,
"lat": 39.93504
},
"timezone": "Europe/Istanbul",
"elevation": 897.5,
"weatherIconUrlBase": "https://api-test.iklim.co/v1/weather-icons",
"metricForecasts": [
{
"metric": "TEMPERATURE",
"unit": "°C",
"forecasts": [
{
"time": "2025-04-14T16:58:22Z",
"isDay": true,
"value": 23.5,
"icon": "sunny"
}
]
}
],
"warnings": [
"The provided metric is not valid for this request: TEMPERATURE_SUM"
]
}Body
Geographic point to query forecasts for
Show child attributes
Show child attributes
Metrics requested for the daily forecast endpoint. Allowed values: WEATHER_ICON, TEMPERATURE_AVG, TEMPERATURE_MIN, TEMPERATURE_MAX, APPARENT_TEMPERATURE_AVG, APPARENT_TEMPERATURE_MIN, APPARENT_TEMPERATURE_MAX, HUMIDITY_AVG, HUMIDITY_MIN, HUMIDITY_MAX, CLOUD_COVER_AVG, CLOUD_COVER_MIN, CLOUD_COVER_MAX, WIND_SPEED_AVG, WIND_SPEED_MIN, WIND_SPEED_MAX, WIND_GUSTS_AVG, WIND_GUSTS_MIN, WIND_GUSTS_MAX, WIND_DIRECTION, SNOWFALL, PRECIPITATION, PRECIPITATION_PROBABILITY_AVG, PRECIPITATION_PROBABILITY_MIN, PRECIPITATION_PROBABILITY_MAX, VISIBILITY_AVG, VISIBILITY_MIN, VISIBILITY_MAX, REF_EVAPORATION_TRANSPIRATION_ET0, REF_EVAPORATION_TRANSPIRATION_ET0_SUM, DEW_POINT_AVG, DEW_POINT_MIN, DEW_POINT_MAX, SHORTWAVE_RADIATION_SUM
1WEATHER_ICON, TEMPERATURE, TEMPERATURE_AVG, TEMPERATURE_MIN, TEMPERATURE_MAX, APPARENT_TEMPERATURE, APPARENT_TEMPERATURE_AVG, APPARENT_TEMPERATURE_MIN, APPARENT_TEMPERATURE_MAX, HUMIDITY, HUMIDITY_AVG, HUMIDITY_MIN, HUMIDITY_MAX, CLOUD_COVER, CLOUD_COVER_AVG, CLOUD_COVER_MIN, CLOUD_COVER_MAX, WIND_SPEED, WIND_SPEED_AVG, WIND_SPEED_MIN, WIND_SPEED_MAX, WIND_GUSTS, WIND_GUSTS_AVG, WIND_GUSTS_MIN, WIND_GUSTS_MAX, WIND_DIRECTION, SNOWFALL, PRECIPITATION, PRECIPITATION_PROBABILITY, PRECIPITATION_PROBABILITY_AVG, PRECIPITATION_PROBABILITY_MIN, PRECIPITATION_PROBABILITY_MAX, REF_EVAPORATION_TRANSPIRATION_ET0, REF_EVAPORATION_TRANSPIRATION_ET0_SUM, DEW_POINT, DEW_POINT_AVG, DEW_POINT_MIN, DEW_POINT_MAX, SOIL_TEMPERATURE, SOIL_MOISTURE, GLOBAL_TILTED_RADIATION_GTI, DIRECT_NORMAL_IRRADIANCE_DNI, SHORTWAVE_SOLAR_RADIATION_GHI, SHORTWAVE_RADIATION_SUM, VISIBILITY, VISIBILITY_AVG, VISIBILITY_MIN, VISIBILITY_MAX ["TEMPERATURE_MAX", "TEMPERATURE_MIN"]
Maximum number of days to return (1-14)
1 <= x <= 147
Optional epoch milliseconds that mark the start of the forecast horizon
1746454091000
Response
Daily forecast data successfully retrieved.
Location resolved for the forecast
Show child attributes
Show child attributes
IANA timezone identifier used for timestamps
"Europe/Istanbul"
Elevation of the requested location in meters
897.5
Base URL that can be used to fetch weather icons
"https://api-test.iklim.co/v1/weather-icons"
Metric forecasts returned in the response
Show child attributes
Show child attributes
Informational warnings returned for the request
[
"The provided metric is not valid for this request: TEMPERATURE_SUM"
]