> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sherlocker.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Imoveis urbanos de uma pessoa

> Retorna propriedades urbanas do CPF, imoveis de parentes e enderecos resididos (imoveis de terceiros nos enderecos onde a pessoa mora/morou). Documento invalido retorna HTTP 200 com corpo { "erro": "CPF invalido" }.



## OpenAPI

````yaml /openapi/imoveis.json get /imoveis/cpf/{cpf}
openapi: 3.0.0
info:
  title: Sherlocker Imoveis API
  description: >-
    Levantamento de imoveis urbanos via base unificada de portais IPTU de 1.400+
    municipios. Busca por CPF ou CNPJ do proprietario.
  version: '1.0'
servers:
  - url: https://221b-api.sherlocker.com.br/api/v1
security:
  - tokenAuth: []
paths:
  /imoveis/cpf/{cpf}:
    get:
      tags:
        - Imoveis
      summary: Imoveis urbanos de uma pessoa
      description: >-
        Retorna propriedades urbanas do CPF, imoveis de parentes e enderecos
        resididos (imoveis de terceiros nos enderecos onde a pessoa mora/morou).
        Documento invalido retorna HTTP 200 com corpo { "erro": "CPF invalido"
        }.
      operationId: getImoveisByCpf
      parameters:
        - name: cpf
          in: path
          required: true
          description: CPF (11 digitos, com ou sem mascara)
          schema:
            type: string
            example: '12345678901'
      responses:
        '200':
          description: Imoveis encontrados (ou corpo { erro } quando o CPF e invalido)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImoveisCpfResponse'
              example:
                documento: 123.456.789-01
                tipo_documento: CPF
                propriedades:
                  - id: sp-vm-031044-00941
                    fonte: betha
                    sql_iptu: 031.044.0094-1
                    inscricao: 031.044.0094-1
                    localizacao:
                      logradouro: Rua Propriedade
                      numero: '456'
                      complemento: ''
                      bairro: Vila Mariana
                      cidade: São Paulo
                      uf: SP
                      cep: '04101000'
                    area_terreno: 250
                    area_construida: 150
                    ano_construcao: 2005
                    tipo_uso: Residencial
                    valor_venal: 500000
                    valor_iptu: 2500
                    proprietario:
                      nome: João Silva
                      documento: 123.456.789-01
                      tipoDocumento: CPF
                    tipo_propriedade: urbano
                    quantidade: 1
                parentes:
                  - nome: Maria Silva de Oliveira
                    cpf: '98765432100'
                    parentesco: Mãe
                    propriedades: []
                enderecos_resididos:
                  - endereco:
                      logradouro: Rua das Flores
                      numero: '123'
                      bairro: Centro
                      cidade: São Paulo
                      uf: SP
                      cep: 01310-100
                    proprietarios:
                      - nome: MARIA SILVA
                        documento: '98765432100'
                        tipo_documento: CPF
        '401':
          description: Token ausente ou invalido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ImoveisCpfResponse:
      type: object
      description: Resposta de /imoveis/cpf/{cpf}.
      properties:
        documento:
          type: string
          description: CPF formatado 000.000.000-00
        tipo_documento:
          type: string
          enum:
            - CPF
        propriedades:
          type: array
          items:
            $ref: '#/components/schemas/PropriedadeUrbana'
        parentes:
          type: array
          items:
            $ref: '#/components/schemas/ParenteImoveis'
        enderecos_resididos:
          type: array
          items:
            $ref: '#/components/schemas/EnderecoResidido'
    ErrorResponse:
      type: object
      description: 'Envelope de erro para excecoes lancadas (ex: 401/500).'
      properties:
        statusCode:
          type: integer
          example: 401
        message:
          type: string
          example: Unauthorized
        path:
          type: string
          example: /api/v1/imoveis/cpf/12345678901
        timestamp:
          type: string
          format: date-time
    PropriedadeUrbana:
      description: >-
        Item de propriedades na resposta por CPF: ImovelRecord acrescido de
        tipo_propriedade e quantidade (imoveis identicos por endereco/area/uso
        sao agrupados).
      allOf:
        - $ref: '#/components/schemas/ImovelRecord'
        - type: object
          properties:
            tipo_propriedade:
              type: string
              enum:
                - urbano
            quantidade:
              type: integer
              description: Quantidade de imoveis agrupados nesta entrada
    ParenteImoveis:
      type: object
      properties:
        nome:
          type: string
        cpf:
          type: string
          description: CPF do parente apenas digitos (sem mascara)
        parentesco:
          type: string
          description: 'Grau de parentesco (ex: Mae, Conjuge)'
        propriedades:
          type: array
          items:
            $ref: '#/components/schemas/ImovelParente'
    EnderecoResidido:
      type: object
      description: >-
        Endereco onde a pessoa mora/morou cruzado com imoveis cujo proprietario
        e outra pessoa.
      properties:
        endereco:
          $ref: '#/components/schemas/LocalizacaoEndereco'
        proprietarios:
          type: array
          items:
            $ref: '#/components/schemas/ProprietarioEndereco'
    ImovelRecord:
      type: object
      properties:
        id:
          type: string
        fonte:
          type: string
          description: 'Plataforma/origem do dado IPTU municipal (ex: betha, elotech, sia)'
        sql_iptu:
          type: string
        inscricao:
          type: string
          description: Inscricao municipal
        localizacao:
          $ref: '#/components/schemas/Localizacao'
        area_terreno:
          type: number
          description: Area do terreno em m2
        area_construida:
          type: number
          description: Area construida em m2
        ano_construcao:
          type: integer
        tipo_uso:
          type: string
          description: Residencial, comercial, etc
        valor_venal:
          type: number
          description: Valor venal em reais
        valor_iptu:
          type: number
          description: IPTU anual em reais
        proprietario:
          $ref: '#/components/schemas/Proprietario'
    ImovelParente:
      description: >-
        Item de propriedades de um parente: ImovelRecord acrescido de
        tipo_propriedade. NAO inclui quantidade (nao passa pelo agrupamento).
      allOf:
        - $ref: '#/components/schemas/ImovelRecord'
        - type: object
          properties:
            tipo_propriedade:
              type: string
              enum:
                - urbano
    LocalizacaoEndereco:
      type: object
      description: Endereco usado em enderecos_resididos. NAO inclui campo complemento.
      properties:
        logradouro:
          type: string
        numero:
          type: string
        bairro:
          type: string
        cidade:
          type: string
        uf:
          type: string
        cep:
          type: string
          description: Formatado 00000-000
    ProprietarioEndereco:
      type: object
      description: >-
        Proprietario listado em enderecos_resididos. ATENCAO: difere de
        Proprietario — documento vem em digitos crus (sem mascara) e a chave do
        tipo e tipo_documento (snake_case).
      properties:
        nome:
          type: string
          description: Nome conforme cadastro municipal (cru, geralmente em CAIXA ALTA)
        documento:
          type: string
          description: CPF/CNPJ apenas digitos (sem mascara)
        tipo_documento:
          type: string
          enum:
            - CPF
            - CNPJ
    Localizacao:
      type: object
      description: >-
        Endereco completo do imovel (logradouro/bairro/cidade vem em Title
        Case).
      properties:
        logradouro:
          type: string
        numero:
          type: string
        complemento:
          type: string
        bairro:
          type: string
        cidade:
          type: string
        uf:
          type: string
        cep:
          type: string
    Proprietario:
      type: object
      description: >-
        Proprietario do imovel. documento vem formatado (CPF 000.000.000-00 /
        CNPJ 00.000.000/0000-00) ou null. ATENCAO: a chave do tipo e
        tipoDocumento (camelCase).
      properties:
        nome:
          type: string
        documento:
          type: string
          nullable: true
          description: CPF/CNPJ formatado, ou null quando ausente
        tipoDocumento:
          type: string
          enum:
            - CPF
            - CNPJ
          description: Pode estar ausente quando o documento nao tem 11/14 digitos
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: query
      name: token

````