Sistema de datos globales
Construye productos globales sin la infraestructura de datos
Geocodificación precisa, resolución de zonas horarias, calendarios de festivos e inteligencia de direcciones. Un endpoint, todos los países.
Obtener clave APIMotor
Motor de datos globales
Resuelve cualquier dirección o coordenadas en un perfil de ubicación completo. Incluye zona horaria, días laborables y estado de festivo.
{
"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
}
}
Los productos internacionales necesitan datos de ubicación y planificación fiables. El motor de datos globales combina geocodificación, zona horaria y calendario para que localices experiencias, programes tareas correctamente y cumplas requisitos en cada región sin unir múltiples llamadas.
Referencia de la API
Base URL: https://requiems.xyz
Descripción general
Casos de uso
- 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
Funcionalidades
Puntos finales de la 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
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| address | string |
Opcional | Human-readable address string to geocode. Either address or coordinates is required. |
| coordinates | object |
Opcional | Coordinates object for reverse geocoding. Either address or coordinates is required. Shape: {lat: float, lng: float} |
| country_code | string |
Opcional | ISO 3166-1 alpha-2 country code hint. Overrides the geocoder-inferred country code when provided. |
Pruébalo
Demostración en vivoSolicitud
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.
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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 |
Ejemplos de código
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']}"
Respuestas de error
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}
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ip | string |
Obligatorio | IPv4 or IPv6 address to resolve |
Pruébalo
Demostración en vivoSolicitud
IPv4 or IPv6 address to resolve
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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 |
Ejemplos de código
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);
Respuestas de error
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}
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| country | string |
Obligatorio | ISO 3166-1 alpha-2 country code (e.g. DE, US, FR) |
| year | integer |
Opcional | Year to retrieve the calendar for. Defaults to the current year. |
| month | integer |
Opcional | Month (1–12). When provided, returns month-scoped working day count, total days, weekend days, and filtered holidays. |
Pruébalo
Demostración en vivoSolicitud
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.
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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} |
Ejemplos de código
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);
Respuestas de error
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
Preguntas frecuentes
Backend todo en uno para productos SaaS
Autenticación, validación, detección de fraude, inteligencia de pagos y datos globales, entregados a través de una API unificada.