Documentación del API
Esta documentación del API de OpenDay explica cada endpoint con un ejemplo real. Todas las respuestas tienen la forma { data, meta }; las fechas son AAAA-MM-DD.
Última verificación: 16 de octubre de 2026Fuentes y metodología¿Encontró un error? Avísenos
Primeros pasos
- Abra OpenDay API en Apify e inicie sesión (o cree una cuenta gratis en Apify).
- Llámelo como API HTTP (modo Standby) con su token de Apify en el encabezado Authorization: Bearer, o envíe hasta 1,000 solicitudes en una corrida.
- Se paga por cada solicitud exitosa; los errores nunca se cobran.
Regiones: US (federal y banca), PR (gobierno, legal y banca) y los 50 estados y DC como US-XX. Años: 2000–2100 para EE. UU. y Puerto Rico; 2026–2100 para los estados.
Ejemplos de código
const url = 'https://jbstudio--openday-api.apify.actor/v1/is-business-day?date=2027-07-05®ion=PR';
const res = await fetch(url, {
headers: { Authorization: 'Bearer ' + process.env.APIFY_TOKEN },
});
const { data } = await res.json();
console.log(data.isBusinessDay); // falseimport os, requests
url = "https://jbstudio--openday-api.apify.actor/v1/business-days/add"
params = {"start": "2027-12-10", "days": 10, "region": "US", "calendar": "banking"}
headers = {"Authorization": f"Bearer {os.environ['APIFY_TOKEN']}"}
print(requests.get(url, params=params, headers=headers).json()["data"]["result"]) # 2027-12-24Endpoints
- /v1/holidays
- /v1/is-business-day
- /v1/business-days/add
- /v1/business-days/between
- /v1/regions
- /v1/pr/municipios
- /v1/pr/zip/{zip}
- /v1/pr/ivu
GET/v1/holidays · Lista de feriados
Los feriados de una región y un año. Parámetros: country (US, PR, US-TX, …), year y, opcionales, calendar (federal, banking, government, legal, state), dateBasis (actual u observed) e include.
GET /v1/holidays?country=US&year=2027
{
"data": [
{
"id": "new-years-day",
"date": "2027-01-01",
"observedDate": "2027-01-01",
"nameEn": "New Year's Day",
"nameEs": "Año Nuevo",
"type": "federal",
"source": "5 U.S.C. 6103",
"sourceUrl": "https://uscode.house.gov/view.xhtml?req=granuleid:USC-prelim-title5-section6103",
"sourceType": "official"
},
{
"id": "martin-luther-king-jr-day",
"date": "2027-01-18",
"observedDate": "2027-01-18",
"nameEn": "Martin Luther King Jr. Day",
"nameEs": "Natalicio de Martin Luther King Jr.",
"type": "federal",
"source": "5 U.S.C. 6103",
"sourceUrl": "https://uscode.house.gov/view.xhtml?req=granuleid:USC-prelim-title5-section6103",
"sourceType": "official"
}
],
"meta": {
"calendar": "federal",
"verificationStatus": "official",
"note": "Confirm official proclamations."
}
}GET/v1/is-business-day · ¿Es día laborable?
¿Esta fecha es día laborable en el calendario de la región? La respuesta incluye cada feriado observado ese día.
GET /v1/is-business-day?date=2027-07-05®ion=PR
{
"data": {
"date": "2027-07-05",
"region": "PR",
"calendar": "government",
"isBusinessDay": false,
"reason": "holiday",
"holidays": [
{
"id": "independence-day",
"date": "2027-07-04",
"observedDate": "2027-07-05",
"nameEn": "US Independence Day",
"nameEs": "Día de la Independencia de los Estados Unidos"
}
]
}
}GET/v1/business-days/add · Sumar días laborables
Avanza (o retrocede, con un número negativo) N días laborables. No se cuenta la fecha inicial.
GET /v1/business-days/add?start=2027-12-10&days=10®ion=US&calendar=banking
{
"data": {
"start": "2027-12-10",
"days": 10,
"region": "US",
"calendar": "banking",
"result": "2027-12-24"
}
}GET/v1/business-days/between · Contar días laborables entre fechas
Días laborables desde start hasta end, ambos incluidos. Negativo si end es anterior a start.
GET /v1/business-days/between?start=2027-01-01&end=2027-01-31®ion=US-TX
{
"data": {
"start": "2027-01-01",
"end": "2027-01-31",
"region": "US-TX",
"calendar": "state",
"businessDays": 19,
"inclusive": true
}
}GET/v1/regions · Regiones disponibles
Cada región con sus calendarios, años disponibles, fuentes y estado de verificación por año.
GET /v1/regions
{
"data": [
{
"code": "PR",
"name": "Puerto Rico",
"defaultCalendar": "government",
"years": {
"min": 2000,
"max": 2100
}
}
]
}GET/v1/pr/municipios · Municipios de Puerto Rico
Los 78 municipios con su código del Censo, nombre oficial (con acentos), nombre sin acentos y slug. /v1/pr/municipios/{id} busca uno por código o nombre, con o sin acentos.
GET /v1/pr/municipios/mayaguez
{
"data": {
"code": "72097",
"name": "Mayagüez",
"nameAscii": "Mayaguez",
"slug": "mayaguez"
},
"meta": {
"dataset": "pr-municipios",
"verificationStatus": "official"
}
}GET/v1/pr/zip/{zip} · Código postal a municipio
Cada municipio que cubre un código postal, con su parte del área terrestre y el principal marcado. Basado en las ZCTA del Censo 2020, que se aproximan mucho a los códigos postales del USPS.
GET /v1/pr/zip/00680
{
"data": {
"zip": "00680",
"municipios": [
{
"code": "72097",
"name": "Mayagüez",
"share": 0.9415,
"primary": true
},
{
"code": "72125",
"name": "San Germán",
"share": 0.0343,
"primary": false
},
{
"code": "72011",
"name": "Añasco",
"share": 0.0241,
"primary": false
}
]
}
}GET/v1/pr/ivu · Tasas del IVU de Puerto Rico
Tasas del impuesto sobre ventas y uso con la sección del Código de Rentas Internas de cada una: estatal 10.5 %, municipal 1 %, total 11.5 % y 4 % en servicios a otros comerciantes y servicios profesionales designados. Información general, no asesoría contributiva.
GET /v1/pr/ivu
{
"data": {
"rates": [
{
"id": "state",
"percent": 10.5,
"components": [
{
"percent": 6,
"citation": "Código de Rentas Internas de 2011, Sec. 4020.01(b)"
},
{
"percent": 4.5,
"citation": "Código de Rentas Internas de 2011, Sec. 4210.01(b) (surcharge, \"sobretasa\")"
}
]
},
{
"id": "municipal",
"percent": 1,
"components": [
{
"percent": 1,
"citation": "Código de Rentas Internas de 2011, Sec. 6080.14(a)"
}
]
}
]
}
}Errores
Los parámetros inválidos devuelven 400 VALIDATION_ERROR con la lista de parámetros a corregir. Las rutas, municipios o códigos postales desconocidos devuelven 404 NOT_FOUND. Si se alcanza su límite de gasto en Apify, el API devuelve 402 LIMIT_REACHED.
Los resultados salen de la ley y de calendarios publicados, y pueden diferir de la proclama de un año específico. Cada respuesta lo indica en meta.note.
Preguntas frecuentes
¿Cómo sé si una fecha es día laborable en JavaScript?
Llame a /v1/is-business-day con la fecha y la región (por ejemplo, PR) y lea data.isBusinessDay. El ejemplo de arriba usa fetch con su token de Apify.
¿Cómo calculo una fecha de pago o de entrega en días laborables?
Use /v1/business-days/add con la fecha inicial, el número de días y el calendario (federal, banking, government o state). Para liquidación ACH use calendar=banking.
¿Qué formato tienen las respuestas?
JSON con la forma { data, meta }. Los errores tienen la forma { error: { code, message, details } } y las fechas son AAAA-MM-DD sin hora ni zona horaria.