# Leilao Imovel Scraper | $1.5 / 1k | Fast & Reliable (`fatihtahta/leilao-imovel-scraper`) Actor

Extract structured real estate auction listings across Brazil with property details, images, seller data and full descriptions from Leilão Imóvel. Built for enterprise-grade real estate intelligence, opportunity screening, portfolio monitoring, and automated data pipelines.

- **URL**: https://apify.com/fatihtahta/leilao-imovel-scraper.md
- **Developed by:** [Fatih Tahta](https://apify.com/fatihtahta) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 20 total users, 5 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Leilão Imóvel Scraper

**Slug:** `fatihtahta/leilao-imovel-scraper`

### Overview

Leilão Imóvel collects structured Brazilian real estate auction listing data, including property details, pricing, discounts, dates, location, sale terms, payment eligibility, documents, images, and listing metadata. [Leilão Imóvel](https://www.leilaoimovel.com.br) is a public marketplace for real estate auction opportunities, making its data useful for market research, opportunity screening, acquisition workflows, and recurring portfolio analysis. The actor converts public listing information into repeatable JSON records that are easier to review, export, compare, and load into downstream systems. It is designed for automated, recurring data acquisition with consistent output fields and practical filtering options. Results reflect the public data available at run time, enabling dependable operational workflows without assuming completeness beyond what the source exposes.

### Why Use This Actor

- **Market research and analytics teams:** build structured extraction workflows for pricing, discounts, asset classes, locations, banks, and sale formats across Brazilian real estate auction listings.
- **Product and content teams:** populate internal property feeds, research tools, content operations, and review queues with normalized listing data.
- **Developers and data engineering teams:** feed downstream systems, warehouses, enrichment pipelines, and monitoring workflows with predictable JSON records.
- **Lead generation and enrichment teams:** identify target properties, locations, seller contexts, payment conditions, and broker information for qualification workflows.
- **Monitoring and competitive tracking teams:** schedule recurring collection to track availability, pricing movement, auction deadlines, and geographic supply changes.

### Common Use Cases

- **Market intelligence:** monitor auction supply, pricing, discount levels, property types, bank exposure, and geographic distribution.
- **Acquisition screening:** filter listings by state, city, price range, discount, property type, payment eligibility, sale type, or sale modality.
- **Lead generation:** build targeted prospect or opportunity lists from public real estate auction listings and related broker information.
- **Competitive monitoring:** track changes in available listings, auction timing, sale formats, and institution coverage over repeated runs.
- **Catalog and directory building:** populate internal databases with structured public property records, images, documents, and location fields.
- **Data enrichment:** add current public auction attributes to CRM, BI, portfolio, or analytics datasets.
- **Recurring reporting:** schedule periodic runs for dashboards, alerts, intake reviews, and market movement analysis.

### Quick Start

1. Choose the target scope using location, price, property type, discount, payment option, sale type, sale modality, date, bank, or limit fields.
2. For the first validation run, set a small `limit` such as `25` or `50`.
3. Run the actor in Apify Console.
4. Inspect the first dataset records and confirm the fields match your reporting, review, or ingestion workflow.
5. Broaden or narrow filters after validation, then increase `limit` for production collection.
6. Schedule the actor when you need recurring monitoring or refreshed datasets.

### Input Parameters

This actor accepts optional filters for location, price, property type, discount, financing, sale format, dates, banks, and maximum result count.

| Parameter | Type | Description | Default |
|---|---:|---|---:|
| `location_state` | string | Brazilian state name or abbreviation, such as `SP`, `RJ`, or `Minas Gerais`. Use it to focus results on one state. | – |
| `location_city` | string | Brazilian city name. For precise regional filtering, combine it with `location_state`. | – |
| `min_price` | integer | Minimum property price to include, in Brazilian reais (BRL). Must be at least `1` when provided. | – |
| `max_price` | integer | Maximum property price to include, in Brazilian reais (BRL). Must be at least `1` when provided. | – |
| `property_type` | array of strings | Property types to include. Allowed values: `Agency`, `Apartment`, `Industrial Land`, `Rural Land`, `House`, `Commercial Property`, `Warehouse`, `Parking Space`, `Unspecified`, `Other`, `Land / Plot`. | – |
| `min_discount` | string | Minimum discount percentage to include. Allowed values: `0`, `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `45`, `50`, `55`, `60`, `65`, `70`, `75`, `80`, `85`, `90`, `95`, `100`. | – |
| `max_discount` | string | Maximum discount percentage to include. Allowed values: `0`, `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `45`, `50`, `55`, `60`, `65`, `70`, `75`, `80`, `85`, `90`, `95`, `100`. | – |
| `financement_method` | array of strings | Payment methods listings must support. Allowed values: `FGTS (Severance Fund)`, `Financing`. | – |
| `sale_type` | array of strings | Sale types to include. Allowed values: `Direct Purchase`, `Online Sale`, `Open Bidding (Caixa)`, `SFI Auction (Caixa)`. | – |
| `condo_debt` | array of strings | Condo debt conditions to include. Allowed values: `Buyer Pays Condo Debt`, `Buyer Pays up to 10% of Appraised Value`. | – |
| `sale_modality` | array of strings | Sale modalities to include. Allowed values: `PGFN Acquisition`, `Extrajudicial Auction`, `Judicial Auction`, `Other`, `Private Sale`, `Direct Sale`. | – |
| `auction_end_before` | string | Latest auction end date to include. Use an Apify date picker value to include listings ending on or before the selected date. | – |
| `listing_date_from` | string | Earliest listing inclusion date to include. Use an Apify date picker value to focus on listings added on or after the selected date. | – |
| `banks` | array of strings | Banks to include. Allowed values: `Caixa Econômica Federal CEF`, `Banco do Brasil`, `Banco BRB`, `Banco Inter`, `Banco Santander`, `Bradesco`, `Emgea`, `Fundação Assefaz`, `Itaú Unibanco`. | – |
| `limit` | integer | Maximum number of listings to save for this run configuration. Must be at least `1` when provided. Leave empty to collect as many matching records as available during the run. | – |

### Choosing Inputs

Use narrower filters when you need a targeted dataset, such as one state, one city, a defined price band, a specific property type, or listings with a minimum discount. Use broader filters when the goal is discovery, market mapping, or a more complete view of available public listings. Location fields control geographic scope, price and discount fields control financial screening, property type controls asset category, and date fields help align records with your review window. Bank, sale type, sale modality, payment option, and condo debt fields are useful when your operating process only accepts certain transaction structures. Start with a small `limit` to validate output quality, then increase it after confirming the records match your downstream workflow.

### Example Inputs

#### Location and Property Type Review

```json
{
  "location_state": "SP",
  "location_city": "São Paulo",
  "property_type": ["Apartment", "House"],
  "min_price": 150000,
  "max_price": 800000,
  "limit": 50
}
```

#### Discount-Focused Opportunity Screening

```json
{
  "location_state": "SC",
  "property_type": ["House", "Land / Plot"],
  "min_discount": "40",
  "sale_type": ["Online Sale", "Direct Purchase"],
  "banks": ["Caixa Econômica Federal CEF"],
  "limit": 75
}
```

#### Recent Listing Monitoring

```json
{
  "location_state": "RJ",
  "listing_date_from": "2026-04-01",
  "auction_end_before": "2026-06-30",
  "financement_method": ["Financing"],
  "sale_modality": ["Judicial Auction", "Extrajudicial Auction"],
  "limit": 100
}
```

### Output

#### Output Destination

The actor writes results to an Apify dataset as JSON records. Each saved item is a grouped `property_listing` record designed for analytics tools, ETL pipelines, CRM enrichment, and downstream APIs.

#### Record Envelope And Stable Identifiers

The strongest recommended idempotency key is `record_id`. Use `source_context.fingerprint` and `source_context.listing_url` as secondary reconciliation keys when merging records across repeated runs.

For deduplication and upserts, store records by `record_id` and update mutable listing fields such as prices, dates, auction alerts, availability-related text, and payment terms on later runs. Source URLs, run seed context, source identifiers, and fingerprints are grouped under `source_context`.

#### Examples

##### Example: listing

```json
{
  "record_type": "property_listing",
  "record_id": "2295647",
  "source_context": {
    "source_name": "Leilão Imóvel",
    "source_domain": "www.leilaoimovel.com.br",
    "source_url": "https://www.leilaoimovel.com.br/encontre-seu-imovel?s=&venda=1%2C11%2C10%2C7",
    "listing_url": "https://www.leilaoimovel.com.br/imovel/sc/xanxere/residencial-lot-bem-morar-3-quartos-2-vagas-na-garagem-varanda-sacada-area-de-servico-imovel-caixa-economica-federal-cef-2295647-1444417607230-venda-direta-caixa",
    "loaded_url": "https://www.leilaoimovel.com.br/imovel/sc/xanxere/residencial-lot-bem-morar-3-quartos-2-vagas-na-garagem-varanda-sacada-area-de-servico-imovel-caixa-economica-federal-cef-2295647-1444417607230-venda-direta-caixa",
    "seed_id": "5fc3b6fbe36e",
    "seed_type": "url",
    "seed_value": "https://www.leilaoimovel.com.br/encontre-seu-imovel?s=&venda=1,11,10,7",
    "page_index": 1,
    "fingerprint": "a63f46422be81ed444ea",
    "external_ids": {
      "origin_code": "1444417607230"
    }
  },
  "entity": {
    "title": "Casa Caixa em Xanxerê / SC - 2295647",
    "description": "LOT BEM MORAR - 3 Quartos, 2 Vagas na Garagem, Varanda/sacada, Área de Serviço, 4 Wc, Sala, Cozinha. . RUA RENATO MARCANTE,N. 106 LT 45, QD D, SAO JORGE - CEP: 89820-000, XANXERE - SANTA CATARINA - Condomínio: Sob responsabilidade do comprador, até o limite de 10% em relação ao valor de avaliação do imóvel. A CAIXA realizará o pagamento apenas do valor que exceder o limite de 10% do valor de avaliação. - Tributos: Sob responsabilidade do comprador. - Existe área não averbada. Corretores credenciados",
    "url": "https://www.leilaoimovel.com.br/imovel/sc/xanxere/residencial-lot-bem-morar-3-quartos-2-vagas-na-garagem-varanda-sacada-area-de-servico-imovel-caixa-economica-federal-cef-2295647-1444417607230-venda-direta-caixa"
  },
  "listing": {
    "listing_id": "2295647",
    "categories": ["Venda Online"],
    "inclusion_date": "02/06/2025",
    "auction": {
      "closing_date": "28/04/2026 às 18:00",
      "alerts": [
        "Encerra em: 28/04/2026 às 18:00",
        "Imóvel NÃO ACEITA Financiamento",
        "Imóvel NÃO ACEITA Parcelamento",
        "Imóvel NÃO ACEITA FGTS",
        "Somente à vista",
        "Condomínio: Sob responsabilidade do comprador, até o limite de 10% em relação ao valor de avaliação do imóvel. A CAIXA realizará o pagamento apenas do valor que exceder o limite de 10% do valor de avaliação.",
        "Tributos: Sob responsabilidade do comprador.",
        "Existe área não averbada. Corretores credenciados"
      ]
    }
  },
  "pricing": {
    "price": 322799.34,
    "price_text": "R$ 322.799,34",
    "appraisal_price": 595881.72,
    "appraisal_price_text": "R$ 595.881,72",
    "currency": "BRL",
    "discount_percent": 46,
    "payment_terms": "Somente à vista",
    "payment_options": {
      "accepts_financing": false,
      "accepts_installments": false,
      "accepts_fgts": false,
      "cash_only": true
    }
  },
  "location": {
    "full_address": "RUA RENATO MARCANTE,N. 106 LT 45, QD D, SAO JORGE - CEP: 89820-000, XANXERE - SANTA CATARINA",
    "city": "Xanxerê",
    "state": "SC",
    "country_code": "BR",
    "source_location_text": "SC /Xanxerê",
    "coordinates": {
      "latitude": -26.8612337,
      "longitude": -52.3947944
    }
  },
  "property": {
    "property_type": "Casa",
    "source_property_type": "Casa /Venda Online",
    "usable_area": "329,79 m²",
    "usable_area_sqm": 329.79,
    "land_area": "371,00 m²",
    "land_area_sqm": 371.0,
    "bedrooms": 3,
    "parking_spaces": 2
  },
  "media": {
    "main_image_url": "https://image.leilaoimovel.com.br/images/47/casa-caixa-em-xanxere-sc-2295647-imovel-2295647-03e5bad2e6b618b3f61f8376bc0d62a260ebe65b-g.webp",
    "image_urls": [
      "https://image.leilaoimovel.com.br/images/47/casa-caixa-em-xanxere-sc-2295647-imovel-2295647-03e5bad2e6b618b3f61f8376bc0d62a260ebe65b-g.webp"
    ],
    "documents": [
      {
        "label": "Matricula",
        "url": "https://venda-imoveis.caixa.gov.br/editais/matricula/SC/1444417607230.pdf"
      },
      {
        "label": "Edital",
        "url": "https://venda-imoveis.caixa.gov.br/editais/regras-VOL/comocomprar.pdf?v=01"
      }
    ]
  },
  "relationships": {
    "financial_institution": {
      "name": "Caixa"
    },
    "broker": {
      "name": "LEILÃO IMÓVEL IMOBILIÁRIA",
      "license": {
        "state": "SC",
        "number": "8491"
      }
    }
  },
  "attributes": {
    "legal": {
      "registration_number": "33273",
      "judicial_district": "XANXERE-SC",
      "registry_office": "01",
      "real_estate_registration": "19779",
      "negative_auctions_annotation": "Averbado"
    }
  }
}
```

### Field Reference

#### Listing Record

**record\_type** *(string, required)*: Record family. Current records use `property_listing`.

**record\_id** *(string, required)*: Stable source listing identifier.

**source\_context** *(object, required)*: Provenance and run context, including `source_name`, `source_domain`, `source_url`, `listing_url`, `loaded_url`, `seed_id`, `seed_type`, `seed_value`, `page_index`, `fingerprint`, and `external_ids.origin_code` when available.

**entity** *(object, optional)*: Human-facing listing identity, including `title`, `description`, and `url`.

**listing** *(object, optional)*: Listing lifecycle and auction details, including `listing_id`, `categories`, `inclusion_date`, and `auction.closing_date` / `auction.alerts`.

**pricing** *(object, optional)*: Current price, appraisal value, currency, discount, payment terms, financing text, and boolean payment options.

**location** *(object, optional)*: Public address, city, state, country code, source location text, and coordinates.

**property** *(object, optional)*: Property type, source-specific type label, displayed area values, normalized square-meter values, bedrooms, bathrooms, and parking spaces.

**media** *(object, optional)*: Primary image URL, all image URLs, and public document links.

**relationships** *(object, optional)*: Bank or financial institution plus broker name and CRECI license details when available.

**attributes** *(object, optional)*: Legal and source-specific auction attributes that do not belong in the common groups, such as registration numbers, judicial district, registry office, real estate registration, and negative-auctions annotation.

### Data Quality, Guarantees, And Handling

- **Structured records:** results are normalized into predictable JSON objects for downstream use.
- **Best-effort extraction:** fields may vary by region, session, availability, or source-side presentation changes.
- **Optional fields:** null-check optional fields in downstream code, especially documents, coordinates, broker details, registration data, and payment indicators.
- **Deduplication:** use `record_id` as the primary stable key, with `entity.url` or `source_context.fingerprint` as secondary keys when needed.
- **Freshness:** results reflect the publicly available data at run time.
- **Repeated runs:** use the recommended idempotency key when syncing data into warehouses, CRMs, or search indexes.

### Tips For Best Results

- Start with a small `limit` to validate the output shape before scaling up.
- Use one state, city, property type, bank, or sale segment per run when you need cleaner segmentation.
- Leave optional filters empty when the goal is broad discovery.
- Add filters gradually to understand how each field changes coverage.
- Use `listing_date_from` and `auction_end_before` for monitoring windows and recurring review cycles.
- Schedule recurring runs for monitoring workflows instead of relying on manual one-off collection.
- Store `record_id`, `entity.url`, and `source_context.fingerprint` to support deduplication over time.

### How To Run On Apify

1. Open the Actor in Apify Console.
2. Configure the available input fields for the target scope.
3. Set the maximum number of outputs to collect with `limit`, if you want a capped run.
4. Click **Start** and wait for the run to finish.
5. Open the dataset and inspect the first records.
6. Download results in JSON, CSV, Excel, or other supported formats.

### Scheduling & Automation

#### Scheduling

**Automated Data Collection**

Schedule runs to keep property auction datasets fresh for monitoring, reporting, and enrichment workflows. Recurring runs are especially useful for tracking listing availability, auction deadlines, and changing market conditions.

- Navigate to **Schedules** in Apify Console
- Create a new schedule, such as daily, weekly, or custom cron
- Configure input parameters
- Enable notifications for run completion
- Add webhooks for automated processing

#### Integration Options

- **BI dashboards:** monitor pricing, discounts, availability, property types, banks, and geographic coverage over time.
- **Data warehouses:** load normalized listing records into historical tables for analysis and reporting.
- **CRM enrichment:** sync property, broker, location, and sale-condition attributes into lead or opportunity records.
- **Google Sheets or Airtable:** review smaller regional or filtered runs in lightweight operational workflows.
- **Webhooks:** trigger validation, ingestion, notification, or alerting workflows after each completed run.
- **Data enrichment pipelines:** combine auction listing records with internal portfolio, risk, valuation, or acquisition datasets.

### Export Formats And Downstream Use

Apify datasets can be exported or consumed by downstream systems for operational review, analysis, and automation.

- **JSON:** for APIs, applications, and data pipelines
- **CSV or Excel:** for spreadsheet workflows and manual review
- **API access:** for automated ingestion into internal systems
- **BI and warehouses:** for reporting, dashboards, and historical analysis

### Performance

Estimated run times:

- **Small runs (< 1,000 outputs):** ~3–10 minutes
- **Medium runs (1,000–5,000 outputs):** ~8–25 minutes
- **Large runs (5,000+ outputs):** ~20–35 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

### Limitations

- Availability depends on what <https://www.leilaoimovel.com.br> publicly exposes at run time.
- Some optional fields may be missing on sparse listings or listing types with limited public detail.
- Very broad searches may take longer or require higher `limit` values.
- Source-side changes can affect field availability, labels, or naming.
- Regional, account, or availability differences may change visible results.
- Dates, prices, and sale conditions should be treated as time-sensitive public information and rechecked for critical decisions.

### Troubleshooting

- **No results returned:** check filters, state or city spelling, selected categories, date windows, and whether the target has matching public records.
- **Fewer results than expected:** broaden filters, raise `limit`, or verify that enough matching public listings are available.
- **Some fields are empty:** optional fields depend on what each listing publicly provides.
- **Run takes longer than expected:** reduce scope, lower `limit` for validation, or split broad collection into smaller regional or category segments.
- **Output changed:** compare the current output with the field reference and include a small sample if support is needed.

### FAQ

#### What data does this actor collect?

It collects public real estate auction listing data from Leilão Imóvel, including property details, prices, discounts, dates, location, sale terms, documents, images, payment indicators, and listing metadata.

#### Can I filter by location, category, date, price, or other criteria?

Yes. The actor supports filters for state, city, price range, property type, discount range, payment options, sale type, condo debt rules, sale modality, auction end date, listing inclusion date, banks, and result limit.

#### Why did I receive fewer results than my limit?

`limit` is a maximum, not a guaranteed count. The actor may return fewer records when the public source has fewer matching listings for the selected filters.

#### Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor on a daily, weekly, or custom cadence for monitoring, reporting, and data refresh workflows.

#### How do I avoid duplicates across runs?

Use `record_id` as the primary idempotency key when storing records. You can also retain `source_context.listing_url` and `source_context.fingerprint` as secondary keys for reconciliation.

#### Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support exports in JSON, CSV, Excel, and other formats available in Apify Console.

#### Does this actor collect private data?

No. The actor is intended to collect publicly available listing information from Leilão Imóvel.

#### Are prices and auction dates always current?

Results reflect the public data available at run time. For time-sensitive acquisition decisions, run the actor again or verify the listing directly on the source site.

#### What should I include when reporting an issue?

Include the input used, the run ID, expected versus actual behavior, and a small output sample if it helps illustrate the issue.

### Compliance & Ethics

#### Responsible Data Collection

This actor collects publicly available real estate auction listing information from <https://www.leilaoimovel.com.br> for legitimate business purposes, including:

- **Real estate** research and market analysis
- **Auction opportunity screening**
- **Portfolio monitoring and data enrichment**

Users are responsible for ensuring that their use of collected data complies with applicable laws, regulations, and the target site’s terms. This section is informational and not legal advice.

#### Best Practices

- Use collected data in accordance with applicable laws, regulations, and the target site’s terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable, such as GDPR and CCPA

### Support

For help, use the actor page or Issues. Include the input used with any sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when it is useful for diagnosis.

# Actor input Schema

## `location_state` (type: `string`):

Enter a Brazilian state name or abbreviation, such as SP, RJ, or Minas Gerais. Use this to focus the collection on listings in one state.

## `location_city` (type: `string`):

Enter a Brazilian city name to focus results on that municipality. For the most precise setup, combine it with the matching state.

## `min_price` (type: `integer`):

Enter the lowest property price to include, in Brazilian reais. Leave empty if you do not want a minimum price filter.

## `max_price` (type: `integer`):

Enter the highest property price to include, in Brazilian reais. Leave empty if higher-priced listings should remain eligible.

## `property_type` (type: `array`):

Select one or more property types to include, such as apartments, houses, warehouses, land, or commercial properties. Leave empty to include all supported property types.

## `min_discount` (type: `string`):

Choose the lowest discount percentage to include. Leave empty when you do not want to require a minimum discount.

## `max_discount` (type: `string`):

Choose the highest discount percentage to include. Leave empty if listings with any higher discount should remain eligible.

## `financement_method` (type: `array`):

Select the payment methods that listings must support. Choose multiple options when either financing path is acceptable.

## `sale_type` (type: `array`):

Select one or more sale types to include, such as direct purchase, online sale, open bidding, or SFI auction.

## `condo_debt` (type: `array`):

Select the condo debt conditions you want listings to match. Leave empty if condo debt handling should not narrow the collection.

## `sale_modality` (type: `array`):

Select the sale modalities to include, such as judicial auction, extrajudicial auction, private sale, or direct sale.

## `auction_end_before` (type: `string`):

Choose the latest auction end date to include. Use this when you only want listings ending on or before a specific date.

## `listing_date_from` (type: `string`):

Choose the earliest listing inclusion date to include. Use this to focus on listings added on or after a specific date.

## `banks` (type: `array`):

Select one or more banks to include in the results. Selecting several banks broadens coverage while still keeping the run institution-focused.

## `limit` (type: `integer`):

Enter the maximum number of listings to save for this run configuration. Leave empty to collect as many matching listings as are available during the run.

## `enrich_data` (type: `boolean`):

Fetch each listing detail page to add detail-only fields. Disable this for faster runs that save only fields available on search result pages.

## Actor input object example

```json
{
  "limit": 100,
  "enrich_data": false
}
```

# Actor output Schema

## `results` (type: `string`):

Structured Leilão Imóvel property listing records saved by this run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "limit": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/leilao-imovel-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "limit": 100 }

# Run the Actor and wait for it to finish
run = client.actor("fatihtahta/leilao-imovel-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "limit": 100
}' |
apify call fatihtahta/leilao-imovel-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fatihtahta/leilao-imovel-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QrTurilMn4FMfHLul/builds/IDPpdMkbQA1U7d7wp/openapi.json
