Browse the documentation

ImobyFlow API

Connect your CRM, website or AI assistant to your ImobyFlow account: portfolio, clients, Radar recommendations and partnerships.

Not in IT? Portals, ads, your website and your CRM link connect without code — see the integrations.

1. Request access

The account owner requests it under My account › API integration. ImobyFlow grants access account by account.

2. Create a key

In the same place, with the permissions the integration needs. The key is shown only once — keep it.

3. Make the first call

GET /v1/me confirms the key works and shows the permissions and quota.

Your first call

Put the key in an environment variable (IMOBYFLOW_API_KEY) and call:

curl -X GET 'https://api.imobyflow.com.br/v1/me' \
  -H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
  -H 'Accept-Language: en'

Or right here: every route in the reference has a Try it button that calls the API with your key and explains every field of the response. Writes there always go as a dry run — nothing is written.

The basics

  • Base URL: https://api.imobyflow.com.br/v1. HTTPS and JSON (UTF-8) only.
  • The key goes in the Authorization: Bearer imob_live_… header — never in the URL and never in your end user’s browser. The key belongs to the company, not a person: the integration survives when someone leaves the team.
  • Dates are ISO 8601, in UTC. Amounts are in BRL.
  • Code values (VENDA, ACTIVE, APARTAMENTO) are the platform’s own, untranslated. Accept-Language: en translates labels and error messages.
  • Every write accepts ?dryRun=true: it validates and says what would happen, without writing. The examples in this portal already use it.

Who can use it

The full API is granted by ImobyFlow, account by account, to agencies from 2,000 properties up and to developers, with an active subscription (the trial counts). Each grant says which permissions the account can give its keys.

To send clients from ads, your website or an automation you do not need the full API: every plan has a client intake endpoint, under Clients › Import.

What the API does not do

  • It does not search partners' listings. Radar already delivers the right partner, in the right context — the opportunity.
  • It does not touch plan, billing, card, e-mail or password. Those are owner actions, in the dashboard.
  • It does not approve its own properties: ImobyFlow's review stays the same for integrations.

Tools

Everything comes from the same contract as this documentation and is updated with every release.

Postman

All 58 routes, with success and error response examples. Put your key in the environment’s apiKey variable.

OpenAPI 3.1

The full specification: import it into Insomnia, Swagger or your code generator.

Official SDKs

One file per language, generated from the same contract on every release: one method per route, pages walked for you, retries that never duplicate a write, and errors carrying the API code. No dependencies: TypeScript for Node 18+, Python 3.9+ with the standard library only, and PHP 8 with curl.

// curl -o imobyflow.ts https://imobyflow.com.br/desenvolvedores/sdk/typescript
import { ImobyFlow, ImobyFlowError } from './imobyflow';

const api = new ImobyFlow(process.env.IMOBYFLOW_API_KEY!);
const { data: conta } = await api.getMe();

// Todas as páginas, sem lidar com o cursor:
for await (const imovel of api.listPropertiesAll({ status: 'ACTIVE' })) {
  console.log(imovel.id, imovel.externalRef);
}

// Escrita em modo ensaio: nada é gravado. Tire o dryRun para gravar.
try {
  await api.putPropertyByRef('AP1234', { title: 'Apartamento 3 quartos' }, { dryRun: true });
} catch (e) {
  if (e instanceof ImobyFlowError) console.error(e.code, e.requestId, e.invalidParams);
}

Download into your project. Fixed addresses — sdk/typescript, sdk/python and sdk/php — so your build can fetch the new version.

For AI assistants

MCP server: the agent operates the account

Claude, ChatGPT, Copilot and Cursor read and update the portfolio, clients, Radar and partnerships at https://api.imobyflow.com.br/mcp, with the same API key and the same permissions. Every write runs as a dry run first and is only saved once the person confirms. Deleting, accepting Captação offers and managing webhooks are left out.

claude mcp add --transport http imobyflow https://api.imobyflow.com.br/mcp \
  --header "Authorization: Bearer $IMOBYFLOW_API_KEY"
The Claude.ai and ChatGPT web connectors require a different kind of authorization (OAuth), which ImobyFlow does not offer yet. Use the desktop app, Claude Code, Cursor or VS Code.
The 41 tools
  • get_mereads · Quem sou eu
  • list_propertiesreads · Listar a carteira
  • get_propertyreads · Um imóvel
  • get_property_by_refreads · Um imóvel pelo seu código
  • list_property_matchesreads · Oportunidades de um imóvel
  • list_leadsreads · Listar clientes
  • get_leadreads · Um cliente
  • get_lead_by_refreads · Um cliente pelo seu código
  • list_lead_matchesreads · Oportunidades de um cliente
  • list_matchesreads · Oportunidades da conta
  • list_partnershipsreads · Parcerias da equipe
  • get_partnershipreads · Uma parceria
  • list_teamreads · A equipe
  • list_launchesreads · Lançamentos da cidade
  • list_captacao_offersreads · Proprietários na vez da conta
  • get_captacao_offerreads · Um proprietário
  • list_captacao_ownersreads · Proprietários aceitos
  • list_eventsreads · O que mudou
  • list_citiesreads · Cidades
  • list_neighborhoodsreads · Bairros de uma cidade
  • get_property_typesreads · Tipos de imóvel
  • get_purposesreads · Finalidades
  • get_property_statusesreads · Status do imóvel
  • get_lead_statusesreads · Etapas do cliente
  • get_partnership_statusesreads · Etapas da parceria
  • get_construction_stagesreads · Estágios da obra
  • get_feedreads · Estado da sincronização do feed
  • put_property_by_refwrites, with a dry run · Criar ou atualizar pelo seu código
  • create_propertywrites, with a dry run · Cadastrar um imóvel
  • patch_propertywrites, with a dry run · Alterar parte de um imóvel
  • set_property_statuswrites, with a dry run · Mudar o status
  • confirm_propertieswrites, with a dry run · Confirmar disponibilidade em lote
  • put_lead_by_refwrites, with a dry run · Criar, atualizar ou vincular pelo seu código
  • create_leadwrites, with a dry run · Cadastrar um cliente
  • patch_leadwrites, with a dry run · Alterar parte de um cliente
  • set_lead_statewrites, with a dry run · Arquivar ou reativar
  • add_lead_interactionwrites, with a dry run · Registrar um atendimento
  • dismiss_matchwrites, with a dry run · Descartar oportunidade
  • restore_matchwrites, with a dry run · Restaurar oportunidade
  • set_partnership_statuswrites, with a dry run · Mover a etapa da parceria
  • sync_feedwrites, with a dry run · Sincronizar o feed agora

The documentation for your assistant to read

Where to go next