# Caixa Leiloes Properties and Details Scraper (`realestateapi/caixa-leiloes-properties-and-details-scraper`) Actor

Extract source-backed CAIXA auction and direct-sale property records only after confirming permission for automated access and intended reuse. Errors and permission skips are reported in OUTPUT_SUMMARY; no source request is made by default.

- **URL**: https://apify.com/realestateapi/caixa-leiloes-properties-and-details-scraper.md
- **Developed by:** [Real Estate API](https://apify.com/realestateapi) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Caixa Leiloes Properties and Details Scraper

CSV rank: **758**. Store listing: [leadercorp/caixa-leiloes-scraper](https://apify.com/leadercorp/caixa-leiloes-scraper).

This Actor extracts CAIXA auction and direct-sale property data only after permission for automated access and intended reuse is confirmed. The official CAIXA Terms of Use say information on its site and related services belongs to CAIXA and unauthorized use may incur legal penalties. No applicable permission is recorded, so the default input stops before any source request.

### Scope

This Actor fetches only HTTPS pages on `venda-imoveis.caixa.gov.br`. Supply an explicit `propertyId`, `propertyIds`, `detailUrls`, `searchUrls`, or `startUrls` after confirming permission. No source URL or property ID is selected by default. Search-result detail requests are disabled unless `includeDetails` is explicitly enabled.

The dataset contains qualifying source-backed property rows only. A requested ID or URL by itself does not count as property data. A permission-gated run completes as `SUCCEEDED` / `SKIPPED_POLICY` with no request and no dataset row. A valid empty search completes as `SUCCEEDED` / `COMPLETED`; a source or processing failure with no saved property row reports `FAILED` / `FAILED`. If real property rows were saved before a later request, dataset-write, summary-store, or shutdown failure, the run stays `SUCCEEDED` / `PARTIAL`. Errors and access boundaries appear only as aggregate status and failure codes in `OUTPUT_SUMMARY`; they never become dataset records. The Actor uses a transparent user-agent and does not bypass CAPTCHAs, IP blocks, robots restrictions, authentication, or paywalls.

### Output

Successful records contain non-empty target-specific fields and `dataQuality`; null and blank values are omitted. `OUTPUT_SUMMARY` includes `status` (`SUCCEEDED` or `FAILED`), `runStatus` (`COMPLETED`, `PARTIAL`, `FAILED`, or `SKIPPED_POLICY`), collection status, saved-property counts, request counts, and aggregate failure counts. No diagnostic counters or failure evidence arrays are returned.

### Local verification

Run these offline checks from this directory; they do not contact CAIXA:

```text
npm test
npm run lint
apify validate-schema
```

The browser review opened the public Imóveis CAIXA information page and its linked Terms of Use only. It did not submit a property search or open an auction listing/detail page. See `BROWSER_REVIEW.md`.

Cloud operations such as `apify push` or a Console/API run are separate and require Apify credentials.

# Actor input Schema

## `siteAuthorizationConfirmed` (type: `boolean`):

Confirm you have permission covering automated access to CAIXA property pages, the fields collected, and intended reuse. Leave false unless you have verified this.

## `propertyIds` (type: `array`):

Caixa property identifiers used to build public detail URLs.

## `propertyId` (type: `string`):

One explicitly selected Caixa property identifier. No property is selected by default.

## `detailUrls` (type: `array`):

Public venda-imoveis.caixa.gov.br detalhe-imovel.asp URLs.

## `searchUrls` (type: `array`):

Public Caixa search pages containing detalhe-imovel links.

## `includeDetails` (type: `boolean`):

Follow property links found on explicitly supplied search pages. Enable only when your permission covers detail-page requests.

## `startUrls` (type: `array`):

Request-list alias for public search or detail URLs.

## `maxProperties` (type: `integer`):

Maximum property records to emit.

## `maxItems` (type: `integer`):

Alias for maxProperties.

## `timeoutMs` (type: `integer`):

Maximum time allowed for each public request.

## `userAgent` (type: `string`):

Optional transparent HTTP user-agent; it does not bypass access controls.

## `acceptLanguage` (type: `string`):

Optional normal HTTP language preference.

## `proxyConfiguration` (type: `object`):

Retained for compatibility; direct requests are used and access controls are not bypassed.

## Actor input object example

```json
{
  "siteAuthorizationConfirmed": false,
  "includeDetails": false,
  "maxProperties": 5,
  "timeoutMs": 30000,
  "acceptLanguage": "pt-BR,pt;q=0.9,en;q=0.8"
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("realestateapi/caixa-leiloes-properties-and-details-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("realestateapi/caixa-leiloes-properties-and-details-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 '{}' |
apify call realestateapi/caixa-leiloes-properties-and-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,realestateapi/caixa-leiloes-properties-and-details-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/cy7ZbL4sOXebuE8PH/builds/Rkv42B8TSPVusn526/openapi.json
