SDK Oficial

SDK PrismaData para TypeScript

Para times de produto, frontend e backend Node. CommonJS e ESM no mesmo pacote, tipos embutidos, modo sandbox automático para desenvolvimento e retries com backoff exponencial prontos para produção.

Instalação

Requer Node.js 18 ou superior. Funciona em navegadores modernos.

npm install prismadata

Quick start

Cliente assíncrono, tipado, com fetch nativo.

import { Client } from "prismadata";

const client = new Client({ apiKey: process.env.PRISMADATA_API_KEY! });

const slum = await client.slum({ lat: -23.561414, lng: -46.655881 });
console.log(slum.distance_m, slum.name);

const renda = await client.personalIncomeStatic({
  lat: -23.561414,
  lng: -46.655881,
});
console.log(renda.expected_income, renda.percentile);

Aglomerações comerciais

Retorno tipado com geometria GeoJSON pronta para mapas.

import { Client } from "prismadata";

const client = new Client({ apiKey: process.env.PRISMADATA_API_KEY! });

const clusters = await client.commercialCluster({
  lat: -23.561414,
  lng: -46.655881,
  topN: 3,
  radiusKm: 10,
});

for (const c of clusters) {
  console.log(c.nome, c.score, c.vocacao);
}

Modo sandbox

Ativa-se automaticamente em NODE_ENV=development e devolve dados fake estáveis para integração.

import { Client } from "prismadata";

// Sandbox explícito (envia X-Sandbox: true)
const dev = new Client({
  apiKey: "qualquer-chave",
  sandbox: true,
});

const resultado = await dev.ipinfo({ ip: "8.8.8.8" });
// resultado tem tipos reais, mas valores são gerados

Capacidades

CJS e ESM no mesmo pacote

Importa com import ou require. Tipos embutidos no .d.ts.

Browser e Node.js 18+

Usa fetch nativo, sem dependências de runtime. Bundlers detectam o entry correto.

Modo Sandbox automático

Define X-Sandbox: true conforme ambiente; ideal para desenvolvimento sem consumir cota.

Auto-chunking

Arrays grandes são divididos respeitando o limite de cada endpoint, com merge transparente.

Retries com backoff

HTTP 429 e 5xx são reexecutados com jitter; política configurável no construtor.

Tratamento de erros tipado

Classes AuthError, NotFoundError, RateLimitError, ValidationError herdam de PrismaDataError.

Pronto para integrar?

Solicite uma API Key de teste e use os endpoints no seu app TypeScript imediatamente.