Système données mondiales
Des produits mondiaux sans l'infrastructure de données
Géocodage précis, fuseaux horaires, calendriers de fériés et intelligence d'adresse. Un point de terminaison, tous les pays.
Obtenir une clé APIMoteur
Moteur données mondiales
Résolvez toute adresse ou coordonnées en profil de lieu complet. Fuseau, jours ouvrés et statut férié inclus.
{
"address": "Alexanderplatz 1, Berlin",
"country_code": "DE"
}
{
"country": "DE",
"city": "Berlin",
"timezone": "Europe/Berlin",
"utc_offset": "+02:00",
"working_days_this_month": 21,
"is_holiday": false,
"coordinates": {
"lat": 52.52,
"lng": 13.405
}
}
Les produits internationaux ont besoin de données de lieu et de planning fiables. Le moteur données mondiales combine géocodage, fuseau et calendrier pour localiser, planifier et respecter la conformité sans assembler plusieurs appels.
Référence API
Base URL: https://requiems.xyz
Vue d'ensemble
Cas d'utilisation
- Detect timezone and locale from an address or coordinates for personalized UX
- Know exactly which days are working days in any country for scheduling
- Validate and standardize billing or shipping addresses globally
- Identify user jurisdiction for GDPR, tax, and regulatory requirements
- Show localized holiday calendars and working hour windows in your product
Fonctionnalités
Points de terminaison de l'API
Resolve Location
Resolve an address or coordinates into a full location profile — city, country, timezone, UTC offset, current time, working days this month, and next holiday.
https://requiems.xyz/v1/systems/location/resolve
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| address | string |
Facultatif | Human-readable address string to geocode. Either address or coordinates is required. |
| coordinates | object |
Facultatif | Coordinates object for reverse geocoding. Either address or coordinates is required. Shape: {lat: float, lng: float} |
| country_code | string |
Facultatif | ISO 3166-1 alpha-2 country code hint. Overrides the geocoder-inferred country code when provided. |
Essayez-le
Démo en directRequête
Human-readable address string to geocode. Either address or coordinates is required.
Enter JSON object
Coordinates object for reverse geocoding. Either address or coordinates is required. Shape: {lat: float, lng: float}
ISO 3166-1 alpha-2 country code hint. Overrides the geocoder-inferred country code when provided.
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| address | string |
Normalized full address returned by the geocoder |
| city | string |
City name |
| country | string |
Full country name |
| country_code | string |
ISO 3166-1 alpha-2 country code |
| coordinates | object |
Resolved lat/lng coordinates |
| timezone | string |
IANA timezone identifier (e.g. Europe/Berlin). Null when timezone resolution fails. |
| utc_offset | string |
UTC offset string (e.g. +02:00). Null when timezone resolution fails. |
| current_time | string |
Current local time in RFC3339 format. Null when timezone resolution fails. |
| is_holiday_today | boolean |
True when today is a public holiday in the resolved country |
| working_days_this_month | integer |
Number of working days (excluding weekends and public holidays) in the current calendar month |
| next_holiday | object |
Next public holiday within 90 days. Shape: {date: YYYY-MM-DD, name: string, type: national} |
| flags | array<string> |
Non-fatal warnings. Possible values: timezone_unavailable, calendar_unavailable |
Exemples de code
curl -X POST https://requiems.xyz/v1/systems/location/resolve \
-H "requiems-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"address": "Alexanderplatz 1, Berlin", "country_code": "DE"}'
import requests
response = requests.post(
"https://requiems.xyz/v1/systems/location/resolve",
headers={"requiems-api-key": "YOUR_API_KEY"},
json={"address": "Alexanderplatz 1, Berlin", "country_code": "DE"}
)
data = response.json()["data"]
print(f"Timezone: {data['timezone']}, Working days: {data['working_days_this_month']}")
if data["next_holiday"]:
print(f"Next holiday: {data['next_holiday']['name']} on {data['next_holiday']['date']}")
const { data } = await fetch('https://requiems.xyz/v1/systems/location/resolve', {
method: 'POST',
headers: { 'requiems-api-key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({ address: 'Alexanderplatz 1, Berlin', country_code: 'DE' })
}).then(r => r.json());
console.log(data.timezone, data.working_days_this_month, data.next_holiday);
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/systems/location/resolve')
request = Net::HTTP::Post.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = { address: 'Alexanderplatz 1, Berlin', country_code: 'DE' }.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(request) }
data = JSON.parse(response.body)['data']
puts "#{data['timezone']}, working days: #{data['working_days_this_month']}"
Réponses d'erreur
validation_failed
Neither address nor coordinates was provided
upstream_error
Geocoding service was unavailable
unauthorized
Missing or invalid API key
Timezone from IP
Resolve the timezone, UTC offset, and DST status for any IPv4 or IPv6 address without needing an address string.
https://requiems.xyz/v1/systems/timezone/from-ip/{ip}
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| ip | string |
Requis | IPv4 or IPv6 address to resolve |
Essayez-le
Démo en directRequête
IPv4 or IPv6 address to resolve
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| ip | string |
The IP address as provided |
| city | string |
City resolved from the IP |
| country_code | string |
ISO 3166-1 alpha-2 country code |
| timezone | string |
IANA timezone identifier. Null when timezone resolution fails. |
| utc_offset | string |
UTC offset string. Null when timezone resolution fails. |
| dst_active | boolean |
True when daylight saving time is currently active. Null when timezone resolution fails. |
| current_time | string |
Current local time in RFC3339 format |
Exemples de code
curl https://requiems.xyz/v1/systems/timezone/from-ip/92.168.1.1 \
-H "requiems-api-key: YOUR_API_KEY"
import requests
ip = "92.168.1.1"
response = requests.get(
f"https://requiems.xyz/v1/systems/timezone/from-ip/{ip}",
headers={"requiems-api-key": "YOUR_API_KEY"}
)
data = response.json()["data"]
print(f"Timezone: {data['timezone']}, DST: {data['dst_active']}")
const ip = '92.168.1.1';
const { data } = await fetch(
`https://requiems.xyz/v1/systems/timezone/from-ip/${ip}`,
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
).then(r => r.json());
console.log(data.timezone, data.utc_offset);
Réponses d'erreur
ip_not_found
The IP address could not be geolocated
unauthorized
Missing or invalid API key
Business Calendar
Retrieve working days, public holidays, and next upcoming holiday for any country and optional year/month. Covers 100+ countries.
https://requiems.xyz/v1/systems/business-calendar/{country}
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| country | string |
Requis | ISO 3166-1 alpha-2 country code (e.g. DE, US, FR) |
| year | integer |
Facultatif | Year to retrieve the calendar for. Defaults to the current year. |
| month | integer |
Facultatif | Month (1–12). When provided, returns month-scoped working day count, total days, weekend days, and filtered holidays. |
Essayez-le
Démo en directRequête
ISO 3166-1 alpha-2 country code (e.g. DE, US, FR)
Year to retrieve the calendar for. Defaults to the current year.
Month (1–12). When provided, returns month-scoped working day count, total days, weekend days, and filtered holidays.
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| country_code | string |
ISO 3166-1 alpha-2 country code echoed from the path parameter |
| year | integer |
Year the calendar covers |
| month | integer |
Month scope. Present only when the month query parameter was provided. |
| working_days | integer |
Number of working days (excluding weekends and public holidays) in the scope |
| total_days | integer |
Total calendar days in the month. Present only when month is provided. |
| weekend_days | integer |
Number of weekend days in the month. Present only when month is provided. |
| holidays | array<object> |
List of public holidays in the scope. Each item: {date: YYYY-MM-DD, name: string, type: national} |
| holiday_count | integer |
Count of holidays in the holidays array |
| next_holiday | object |
Next public holiday within 90 days from today. Shape: {date, name, type} |
Exemples de code
curl "https://requiems.xyz/v1/systems/business-calendar/DE?year=2026&month=6" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
response = requests.get(
"https://requiems.xyz/v1/systems/business-calendar/DE",
headers={"requiems-api-key": "YOUR_API_KEY"},
params={"year": 2026, "month": 6}
)
data = response.json()["data"]
print(f"Working days: {data['working_days']}, Holidays: {data['holiday_count']}")
const { data } = await fetch(
'https://requiems.xyz/v1/systems/business-calendar/DE?year=2026&month=6',
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
).then(r => r.json());
console.log(data.working_days, data.holidays);
Réponses d'erreur
validation_failed
Country is not a 2-letter ISO code, or year/month is out of the valid range
unauthorized
Missing or invalid API key
Foire aux questions
Backend tout-en-un pour produits SaaS
Authentification, validation, détection de fraude, intelligence paiements et données mondiales, livrés via une API unifiée.