API de calidad del agua

Acceso programático a datos de calidad del agua para cada código postal de EE. UU. Construida sobre datos de EPA SDWIS, con actualizaciones periódicas.

Qué datos están disponibles

La API de ZipCheckup ofrece datos estructurados sobre calidad del agua y seguridad del hogar para más de 85,358 códigos postales de EE. UU. Todos los datos provienen de EPA SDWIS, agencias ambientales estatales y registros públicos.

Puntuaciones de calidad del agua Puntuación de seguridad (0-100), calificación con letra y nivel de riesgo para cualquier código postal
Datos de contaminantes Contaminantes detectados, niveles medidos frente a los MCL de la EPA y contexto de riesgo a la salud
Infracciones Infracciones de la EPA por sistema de agua, tipo, severidad y fechas
Resúmenes por estado Puntuaciones promedio, principales contaminantes y los códigos postales con peor desempeño por estado
Clasificaciones Clasificaciones nacionales — mejores y peores códigos postales según la puntuación de calidad del agua
Referencia de contaminantes Efectos a la salud, límites de la EPA y fuentes para más de 100 contaminantes

Precios simples y transparentes

Comience gratis. Pase a un plan superior cuando necesite más.

Gratis

$0
Sin tarjeta de crédito
  • 100 solicitudes por día
  • Todos los endpoints incluidos
  • Respuestas en JSON
  • Con límite de solicitudes (100/min)
  • Atribución obligatoria
  • Soporte de la comunidad
Obtener clave de API gratuita

Enterprise

Personalizado
Para equipos y organizaciones
  • Límites de solicitudes personalizados
  • Ingeniero de soporte dedicado
  • SLA con garantía de tiempo de actividad
  • Exportaciones de datos personalizadas
  • Notificaciones por webhook
  • Solicitudes de funciones prioritarias
Contactarnos

Inicio rápido

cURL
Python
Node.js
R
# Get water quality data for ZIP 90210
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.zipcheckup.com/v1/zip/90210"

# Get safety score only
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.zipcheckup.com/v1/zip/90210/score"

# State summary
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.zipcheckup.com/v1/state/CA"
import requests

API_KEY = "YOUR_API_KEY"
BASE    = "https://api.zipcheckup.com/v1"

headers = {"X-API-Key": API_KEY}

# Full water quality data
r = requests.get(f"{BASE}/zip/90210", headers=headers)
data = r.json()

print(f"Score: {data['score']} ({data['grade']})")
print(f"Contaminants: {len(data['contaminants'])}")

# Top 50 worst ZIPs
r = requests.get(f"{BASE}/rankings?limit=50&order=asc", headers=headers)
for z in r.json()["rankings"]:
    print(f"{z['zip']}: {z['score']}")
const API_KEY = "YOUR_API_KEY";
const BASE    = "https://api.zipcheckup.com/v1";

const headers = { "X-API-Key": API_KEY };

// Full water quality data
const res = await fetch(`${BASE}/zip/90210`, { headers });
const data = await res.json();

console.log(`Score: ${data.score} (${data.grade})`);
console.log(`Contaminants: ${data.contaminants.length}`);

// State summary
const state = await (await fetch(`${BASE}/state/CA`, { headers })).json();
console.log(`CA avg score: ${state.avgScore}`);
library(httr2)
library(jsonlite)

api_key <- "YOUR_API_KEY"
base    <- "https://api.zipcheckup.com/v1"

# Full water quality data
resp <- request(paste0(base, "/zip/90210")) |>
  req_headers("X-API-Key" = api_key) |>
  req_perform()

data <- resp |> resp_body_json()
cat(sprintf("Score: %s (%s)\n", data$score, data$grade))

# Rankings as data frame
rankings <- request(paste0(base, "/rankings?limit=50&order=asc")) |>
  req_headers("X-API-Key" = api_key) |>
  req_perform() |>
  resp_body_json()

df <- do.call(rbind, lapply(rankings$rankings, as.data.frame))
head(df)

Obtenga su clave de API gratuita

Su correo electrónico permite recibir la clave de API al instante. Sin tarjeta de crédito.

¿Necesita más de 100 solicitudes por día?

Cuéntenos su caso de uso y trabajaremos con usted en un plan que se ajuste.

¿Listo para integrar? Lea la documentación completa.

Ver documentación de la API

Preguntas frecuentes

¿Qué datos incluye la API?

La API ofrece puntuaciones de calidad del agua, contaminantes detectados con niveles medidos frente a los límites de la EPA, historial de infracciones, resúmenes a nivel estatal, clasificaciones nacionales y datos de referencia de contaminantes. Todo proviene de EPA SDWIS y agencias ambientales estatales.

¿Cuáles son los límites de solicitudes?

Nivel gratuito: 100 solicitudes por día, máximo 100 por minuto. Nivel Pro: 10,000 solicitudes por día, máximo 1,000 por minuto. Enterprise: límites personalizados según sus necesidades.

¿Qué significa "atribución obligatoria" en el nivel gratuito?

Si muestra datos de ZipCheckup públicamente (en un sitio web, en una aplicación, en un informe), incluya un enlace a zipcheckup.com. Ejemplo: "Datos de ZipCheckup." Los niveles Pro y Enterprise no requieren atribución.

¿Con qué frecuencia se actualizan los datos?

Actualizamos los datos de EPA SDWIS de forma periódica. La fecha del conjunto de datos vigente se incluye en cada respuesta de la API en el campo dataDate.

¿Puedo cancelar mi suscripción Pro en cualquier momento?

Sí. El plan Pro tiene facturación mensual sin contrato. Cancele en cualquier momento y su acceso continúa hasta el final del período de facturación. Después, su clave de API regresa a los límites del nivel gratuito.

¿Qué formatos son compatibles?

Todas las respuestas son JSON por defecto. El nivel Pro también admite exportación en CSV mediante el parámetro de consulta format=csv.

¿Ofrecen endpoints masivos?

Sí, los niveles Pro y Enterprise permiten consultar hasta 100 códigos postales en una sola solicitud mediante POST /v1/bulk/zip. Vea la documentación de la API para más detalles.

Necesito datos personalizados o límites más altos. ¿Con quién hablo?

Escriba a [email protected] y armaremos un plan Enterprise adaptado a sus necesidades.