cURL
curl --request GET \
--url https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}', 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://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodyWeather
Get apiweathermodels tiles
Render XYZ tile for a model using the provided query and style
GET
/
api
/
weather
/
models
/
{model}
/
tiles
/
{z}
/
{x}
/
{y}
cURL
curl --request GET \
--url https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}', 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://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sahabah-prod.devops.arabiaweather.com/api/weather/models/{model}/tiles/{z}/{x}/{y}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodyHeaders
API key for authentication
Path Parameters
Weather model ID (e.g., gfs, ec25, icon, gem)
Zoom level
Required range:
x >= 0Tile X coordinate
Required range:
x >= 0Tile Y coordinate
Required range:
x >= 0Query Parameters
Timestamp for forecast data (Unix timestamp)
Model run ID (e.g., '2918') required for forecast
Field expression to render
Style object as JSON (all keys optional)
Response
Weather tile rendered successfully
⌘I

