Console da API

Monitore o uso da API, gerencie chaves e teste endpoints com o Explorer

Ver Documentação

Crie sua conta

Cadastre-se gratuitamente para gerar sua chave de API e acessar o console de desenvolvedor.

Criar conta

Já tem conta?

Entre para ver sua chave de API, uso e limites.

Entrar

Sem conta ainda? O Explorador de API funciona com qualquer chave — cole a sua para testar assim que tiver uma.

Chave de API

Entre na sua conta para ver e gerenciar sua chave de API.

Uso e Créditos

Entre na sua conta para ver seu plano, créditos e o consumo de requisições.

Início Rápido

Em breve: o host público (https://api.vurb.dev) ainda não está no ar. O exemplo abaixo mostra o formato exato que será usado assim que a API for publicada.

Toda requisição precisa do cabeçalho X-API-Key — veja Autenticação. Endpoints de listagens exigem lat, lon e tipo_construcao; use /available_listings/listing_types para descobrir os valores aceitos.

curl -G "https://api.vurb.dev/api/available_listings/summary" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"

Autenticação

Toda chamada exige uma chave de API vinculada à sua conta, enviada em um dos formatos abaixo (basta um dos dois):

X-API-Key: sua-chave-aqui

# ou, alternativamente
Authorization: Bearer sua-chave-aqui

Gerencie e regenere sua chave na seção Chave de API. Cada chamada bem-sucedida consome uma requisição da cota do seu plano — veja Uso e Créditos. Nunca inclua a chave na URL como parâmetro de consulta nem a exponha em código de frontend público.

Respostas de erro comuns: 401 Unauthorized (chave ausente ou inválida), 429 Too Many Requests (limite de taxa excedido) e 503 Service Unavailable (indisponibilidade temporária do backend) — veja Códigos de Resposta.

Analytics

POST /api/iptu/analyze-records

Analyse IPTU records

Computes area totals, year range, construction-type distribution and building/usage inferences over a set of IPTU records supplied in the request body.

Corpo obrigatório (JSON) — veja o exemplo abaixo.

curl -X POST "https://api.vurb.dev/api/iptu/analyze-records" \
  -H "X-API-Key: sua-chave-aqui" \
  -H "Content-Type: application/json" \
  -d '{"records": [{"iptu_key": "010.050.0010-0", "tipo_construcao": "Residencial Vertical", "area": 75}]}'
POST /api/iptu/estimate-building-units

Estimate building units from IPTU records

Infers per-unit floor area and unit counts for the building(s) described by the supplied IPTU records, calibrating per stack where the data allows.

Corpo obrigatório (JSON) — veja o exemplo abaixo.

curl -X POST "https://api.vurb.dev/api/iptu/estimate-building-units" \
  -H "X-API-Key: sua-chave-aqui" \
  -H "Content-Type: application/json" \
  -d '{"iptu_key": "010.050.0010-0", "total_area": 4500, "unit_area": 75}'
POST /api/transactions/investor/metrics

Investor metrics for a transaction set

Liquidity and velocity aggregates (totals, average, median, and per-year/per-month counts and volumes) over a transaction list supplied in the request body.

Corpo obrigatório (JSON) — veja o exemplo abaixo.

curl -X POST "https://api.vurb.dev/api/transactions/investor/metrics" \
  -H "X-API-Key: sua-chave-aqui" \
  -H "Content-Type: application/json" \
  -d '{"transactions": [{"iptu_key": "010.050.0010-0", "price": 650000, "date": "2023-06-01"}]}'

Transações

GET /api/iptu/transaction

Transactions for one property (by IPTU key)

All recorded transactions for a single property, identified by its IPTU cadastro key.

ParâmetroTipoObrigatórioPadrãoDescrição
iptu_key string Sim — IPTU cadastro key (SQL) of the property.
tipo_construcao string Não — Filter to a single construction-type description.
include_summary boolean Não true Include summary and information sections.
include_indicators boolean Não true Include the indicators section.
year string Não — Restrict to specific years; repeatable. Defaults to all available years.
curl -G "https://api.vurb.dev/api/iptu/transaction" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "iptu_key=010.050.0010-0"
GET /api/transactions/block

Transactions for a block (setor + quadra)

All recorded transactions for every property in one setor/quadra block.

ParâmetroTipoObrigatórioPadrãoDescrição
setor string Sim — Setor code (zero-padded to 3 digits internally).
quadra string Sim — Quadra code (zero-padded to 3 digits internally).
tipo_construcao string Não — Filter to a single construction-type description.
include_summary boolean Não true Include summary and information sections.
include_indicators boolean Não true Include the indicators section.
year string Não — Restrict to specific years; repeatable.
curl -G "https://api.vurb.dev/api/transactions/block" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "setor=010" \
  -d "quadra=005"
GET /api/transactions/neighborhood

Transactions for a neighbourhood

All recorded transactions whose registered bairro matches the supplied name.

ParâmetroTipoObrigatórioPadrãoDescrição
neighborhood string Sim — Neighbourhood (bairro) name; matched as a substring.
tipo_construcao string Não — Filter to a single construction-type description.
include_summary boolean Não true Include summary and information sections.
include_indicators boolean Não true Include the indicators section.
year string Não — Restrict to specific years; repeatable.
curl -G "https://api.vurb.dev/api/transactions/neighborhood" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "neighborhood=Pinheiros"
GET /api/transactions/setor

Transactions for a setor

All recorded transactions within a setor. Defaults to a shorter year window than the single-property routes because the result set is much larger.

ParâmetroTipoObrigatórioPadrãoDescrição
setor string Sim — Setor code (zero-padded to 3 digits internally).
tipo_construcao string Não — Filter to a single construction-type description.
include_summary boolean Não true Include summary and information sections.
include_indicators boolean Não true Include the indicators section.
year string Não — Restrict to specific years; repeatable.
curl -G "https://api.vurb.dev/api/transactions/setor" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "setor=010"
GET /api/transactions/street

Transactions along a street

All recorded transactions on a street, optionally widened to include an intersecting street. The street name is matched as a substring.

ParâmetroTipoObrigatórioPadrãoDescrição
street_name string Sim — Street name; matched as a substring.
intersection_street string Não — Also include transactions on this intersecting street.
tipo_construcao string Não — Filter to a single construction-type description.
include_summary boolean Não true Include summary and information sections.
include_indicators boolean Não true Include the indicators section.
year string Não — Restrict to specific years; repeatable.
curl -G "https://api.vurb.dev/api/transactions/street" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "street_name=Rua Augusta"

Listagens

Todos os endpoints de listagens exigem lat, lon e tipo_construcao (um ou mais valores; repita o parâmetro para múltiplos). Um tipo_construcao desconhecido retorna 422 Unprocessable Entity — use /available_listings/listing_types para descobrir os valores aceitos.

GET /api/available_listings

Listings on the market near a point

Every current listing within the radius, with full detail and the distance from the search centre. Capped at 1000 rows, newest observation first.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/amenities

Amenities advertised in the area

How often each amenity appears across the area's listings, most common first.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/amenities" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/bedrooms_bathrooms

Bedroom and bathroom distribution

Counts by bedroom count, by bathroom count, and by the two combined.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/bedrooms_bathrooms" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/brokers

Listing counts by broker

Which sources are advertising in the area, and how many listings each holds.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/brokers" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/clusters

Geographic clusters of listings

Groups listings onto a coarse latitude/longitude grid and reports each cell's count and median price -- a cheap density view without a spatial index.

ParâmetroTipoObrigatórioPadrãoDescrição
grid number Não 0.005 Grid cell size in degrees (about 550 m at 0.005).
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/clusters" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/count

How many listings match

Just the count, for callers sizing a query before requesting the rows.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/count" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/enhancements

Offline enrichment for the area's listings

Aggregated enrichment documents produced by the offline pipeline for listings in the area. Returns an empty insight set where enrichment is unavailable rather than failing.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/enhancements" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/freshness

How current the area's data is

Most recent observation per listing, how many were seen in the last day and week, and the coverage of offline enrichment for the area.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/freshness" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/listing_types

Listing types present, and the accepted construction types

Counts by listing type in the area, plus the full construction-type to listing-type mapping this API accepts — use it to discover valid `tipo_construcao` values.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/listing_types" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/location_insights

How listings are distributed around the search centre

Counts and median price by distance band from the centre point.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/location_insights" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/market_position

Where a given price sits in the local market

Percentile rank of `reference_price` among comparable listings in the area, with the quartile boundaries it is measured against.

ParâmetroTipoObrigatórioPadrãoDescrição
reference_price number Sim — The price to position.
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/market_position" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "reference_price=650000" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/minimal

Listings with essential fields only

Same set as the root route with a reduced projection, for lighter responses.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/minimal" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/neighborhood

Aggregate summary per neighbourhood

The same aggregates as `/summary`, computed per neighbourhood within the radius.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/neighborhood" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/neighborhood_deep_dive

Per-neighbourhood aggregates plus the listings behind them

`/neighborhood`, with each neighbourhood's own listings included for drill-down.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/neighborhood_deep_dive" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/parking

Parking availability

Counts by number of parking spaces, and the share of listings offering any.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/parking" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/price_analysis

Price-per-square-metre analysis

Sale and rent price per square metre across the area: average, median, and the spread, computed only over listings that report both a price and a size.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/price_analysis" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/price_changes

Listings whose price moved

Listings whose first and last observed price differ within the window, with the direction and size of the move, largest first.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
days_back integer Não 90 How many days of history to read.
curl -G "https://api.vurb.dev/api/available_listings/price_changes" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/price_distribution

Price distribution for the area

Equal-width histogram of sale and rent prices, with observed minimum and maximum.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/price_distribution" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/price_history

Observed price points per listing

Every price observation recorded for the area's listings within the window, grouped by listing, with summary statistics across all observations.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
days_back integer Não 90 How many days of history to read.
curl -G "https://api.vurb.dev/api/available_listings/price_history" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/properties alias de /api/available_listings

Listings on the market (alias of the root listing route)

Identical to `/api/available_listings`; kept because the internal API exposes both.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/properties" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/similar alias de /api/available_listings/similarity

Listings similar to a reference size and price (alias)

Identical to `/similarity`; kept because the internal API exposes both names.

ParâmetroTipoObrigatórioPadrãoDescrição
reference_size number Sim — Target floor area in m².
reference_price number Sim — Target price.
limit integer Não 20 How many matches to return.
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/similar" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "reference_size=75" \
  -d "reference_price=650000" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/similarity

Listings most similar to a reference size and price

Ranks listings in the area by combined proximity to the supplied size and price, returning the closest matches first.

ParâmetroTipoObrigatórioPadrãoDescrição
reference_size number Sim — Target floor area in m².
reference_price number Sim — Target price.
limit integer Não 20 How many matches to return.
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/similarity" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "reference_size=75" \
  -d "reference_price=650000" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/size_distribution

Size distribution for the area

Equal-width histogram of listing floor areas in square metres.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/size_distribution" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/sources

Source performance in the area

Per source: listing count, median sale price, and median size — a view of who lists what kind of property here.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/sources" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/status

Listing counts by status

How many listings in the area are active, under offer, withdrawn, and so on.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/status" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/summary

Aggregate market summary for the area

Listing count, average/min/max sale and rent prices, average size, price per square metre, and the broker with the most listings. Currency values are BRL-formatted strings, matching the internal API.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/summary" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/tax_fees

Taxes and condominium fees

Distribution of advertised taxes (IPTU) and condominium fees across the area.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
curl -G "https://api.vurb.dev/api/available_listings/tax_fees" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"
GET /api/available_listings/time_on_market

Observation span per listing

For each listing in the area, the days between its first and its last price observation inside the window (days_back, default 90, at most 365), with the median and a bucketed distribution. A listing with a single observation in the window is excluded. This is an observation span, not days on market: it starts at the window edge for older listings and ends at the last scrape, not at a delisting.

ParâmetroTipoObrigatórioPadrãoDescrição
lat number Sim — Latitude of the search centre.
lon number Sim — Longitude of the search centre.
radius number Não 0.5 Search radius in kilometres.
tipo_construcao array Sim — Construction type(s) to include; repeatable. Required — unlike the internal API, this endpoint does not infer it from an address.
days_back integer Não 90 Window in days ending today (UTC): 1 to 365; values outside are rejected with 422.
curl -G "https://api.vurb.dev/api/available_listings/time_on_market" \
  -H "X-API-Key: sua-chave-aqui" \
  -d "lat=-23.5613" \
  -d "lon=-46.6565" \
  -d "tipo_construcao=Residencial Vertical"

Limites de Taxa

Os limites são aplicados por chave de API, de acordo com o seu plano. Ao atingir o limite, a API responde com 429 Too Many Requests; implemente espera exponencial (exponential backoff) antes de tentar novamente.

HTTP/1.1 429 Too Many Requests
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
x-ratelimit-reset: 12

Códigos de Resposta

200 OK
400 Bad Request
401 Unauthorized       — chave de API ausente ou inválida
422 Unprocessable Entity — parâmetro obrigatório ausente ou inválido (ex.: tipo_construcao desconhecido)
429 Too Many Requests  — limite de taxa do plano excedido
500 Internal Server Error
503 Service Unavailable

Faturamento

Faturamento mensal com resumo por chave. Entre em contato com o suporte para ajustes de cota ou upgrade de plano.

Configurações

Preferências de conta e da chave de API ficam disponíveis na seção Chave de API.

Suporte

Entre em contato com o suporte via painel ou e-mail para dúvidas técnicas ou ajustes de cota.