# Lopes Scraper - Imóveis Brasil (`recordsdata/lopes-br-scraper`) Actor

Scrape lopes.com.br: resale, rent and new developments with prices, location, specs, photos and office data. Condominium and developer profiles. No login, no proxy.

- **URL**: https://apify.com/recordsdata/lopes-br-scraper.md
- **Developed by:** [RecordsData](https://apify.com/recordsdata) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 detailed listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

![RecordsData](https://api.apify.com/v2/key-value-stores/AAm3a1h3Z9nYfrvh9/records/banner?v=3)

## 🏠 Lopes Scraper - Imóveis Brasil: Real Estate Listings for Sale and Rent - RecordsData

> **Quick answer:** Lopes Scraper exports public listings from lopes.com.br, the Brazilian real estate network, as JSON, CSV or Excel. Search any of 26 states, a city or a neighborhood, or crawl the catalog of about 160,000 listings, 78,000 condominiums and 115 developers. Each row has BRL price, address with coordinates, area, rooms, fees, amenities and photos. It costs $20.00 per 1,000 detailed listings or $12.50 per 1,000 cards, with no login, API key or proxy.

**Lopes Scraper is an Apify Actor that collects public real estate listings from lopes.com.br, a large Brazilian network: homes, land, offices and shops for sale (venda) or rent (aluguel), new developments (lançamentos), condominiums and developers.** A detailed listing has about 55 fields and a 3-listing cloud run takes about 4 seconds.

| 🎯 Target audience | 💡 Primary use cases |
|---|---|
| Real estate investors and analysts | Price per square meter by neighborhood, yield studies |
| Brokers, agencies and proptech teams | Competitor inventory tracking, market share by office network |
| Developers and construction companies | Launch (lançamento) monitoring, nearby supply |
| Lenders, appraisers and insurers | Comparable listings, condominium fees and IPTU |
| Data teams and researchers | Brazilian housing datasets, geocoded listings |

### 📋 What the Lopes Scraper does

The Actor reads the same public JSON services that the Lopes website uses, so it needs no browser. Five modes cover the whole site.

- **search**: listings for a state, city or neighborhood with filters for property type (32 types), price, area, bedrooms, suites, bathrooms, parking spaces, 153 amenities and Lopes office id. Operation is sale, rent or launch (new developments).
- **urls**: paste Lopes URLs (a search page, a listing, a launch, a condominium or a developer) or listing codes such as `REO591868`, `REM17976` and `REC26205`.
- **sitemap**: walk the public catalog of about 160,000 listing URLs in order, filtered by operation, property type, bedrooms and keywords in the address. With details off it returns light catalog rows without a single listing request.
- **condominiums**: condominium profiles (address, construction year, amenities, nearby places, nearby listings) for a state or city.
- **developers**: the 115 incorporadoras with profile and launches.

> 💡 **Why it matters:** Lopes calls itself the largest real estate company in Brazil, and no other Apify Actor is dedicated to it.

### 📊 Output

Every row has a `recordType` (`listing`, `launch`, `condominium` or `developer`). Fields without a value are left out, never filled with `null`. Column order is fixed: image first, identity and price next, then location, specs, text, office and media, with `scrapedAt` last.

| Field group | Main fields (name, type, example) |
|---|---|
| Identity | `listingId`, `url`, `title`, `recordType`, `operation`, `dealTypes`, `propertyType`, `propertySubtype` |
| Price (BRL) | `price`, `priceText`, `salePrice`, `rentPrice`, `rentTotalPrice`, `maintenanceFee`, `propertyTax`, `pricePerM2`, `firstInstallment` |
| Location | `address`, `street`, `streetNumber`, `neighborhood`, `city`, `stateCode`, `formattedAddress`, `latitude`, `longitude` |
| Specs | `areaBuilt`, `areaTotal`, `areaLand`, `bedrooms`, `suites`, `bathrooms`, `parkingSpaces`, `floor`; launches use `...Min` and `...Max` ranges |
| Text | `description`, `descriptionImproved`, `metaTitle`, `metaDescription` |
| Condominium | `condominiumId`, `condominiumName`, `condominiumUrl`, `condominiumAmenities` |
| Office | `agencyId`, `agencyName`, `agencyType`, optional `agencyPhone` |
| Media and context | `images`, `imageCount`, `videos`, `virtualTourUrls`, `floorPlans`, `nearbyPlaces`, `similarListings` |

Sample row from a real cloud run (long lists shortened to a few items):

```json
{
  "imageUrl": "https://betaimages.lopes.com.br/realestate/lrg/v1/REO79818/AA350E0DDB7DB574C3948C91668FCAE2.JPEG",
  "recordType": "listing",
  "title": "Apartamento com 3 quartos à venda em Moema - SP",
  "listingId": "REO79818",
  "url": "https://www.lopes.com.br/imovel/REO79818/venda-apartamento-3-quartos-sao-paulo-moema",
  "sourceSite": "lopes.com.br",
  "country": "BR",
  "operation": "sale",
  "dealTypes": ["sale"],
  "propertyType": "apartment",
  "propertySubtype": "Apartamento",
  "price": 1899000,
  "currency": "BRL",
  "priceText": "R$ 1.899.000",
  "salePrice": 1899000,
  "maintenanceFee": 1400,
  "propertyTax": 91,
  "pricePerM2": 21100,
  "firstInstallment": 18510.97,
  "address": "Alameda Jauaperi, 1120",
  "street": "Alameda Jauaperi",
  "streetNumber": "1120",
  "neighborhood": "Moema",
  "city": "São Paulo",
  "region": "São Paulo",
  "stateCode": "SP",
  "latitude": -23.605912,
  "longitude": -46.668087,
  "areaBuilt": 90,
  "areaTotal": 90,
  "bedrooms": 3,
  "suites": 1,
  "bathrooms": 2,
  "parkingSpaces": 2,
  "condominiumId": "REC201649",
  "condominiumName": "Condomínio Edificio Rousseau",
  "agencyId": "658",
  "agencyName": "Lopes Prime – Moema (Nova)",
  "agencyType": "Gestor de Venda",
  "amenities": ["Serviços", "Armário Embutido", "Cozinha Mobiliada"],
  "condominiumAmenities": ["Área verde", "Playground", "Quadra poliesportiva"],
  "images": ["https://betaimages.lopes.com.br/realestate/lrg/v1/REO79818/AA350E0DDB7DB574C3948C91668FCAE2.JPEG"],
  "imageCount": 32,
  "scrapedAt": "2026-10-11T06:15:02.204Z"
}
```

### ✨ Why choose this Actor

- **Exact data from the source services.** Prices come as numbers and as the text the site shows. A listing offered for both sale and rent returns both prices, plus total monthly rent with condominium and IPTU.
- **Real place filtering.** Lopes searches by distance (about 15 km around a city, 5 km around a neighborhood) and mixes neighbours into results. The Actor keeps only listings whose city and neighborhood really match, and stops reading when the neighbouring results begin.
- **Fast and light.** No browser or proxy, about 6 detailed rows per second, 128 MB of memory.
- **Monitor mode.** Run the same search on a schedule and receive only listings that are new or whose price changed.
- **Privacy by design.** No broker or seller names, personal phones or emails; only the Lopes office name, id and type.

### 📈 Lopes Scraper vs alternatives

No Apify Actor targets lopes.com.br, so the table compares the closest options: Brazilian portal scrapers on the Store and a manual export. Read on 2026-10-11 from each Store page.

| | Lopes Scraper | Zap/VivaReal scrapers | Manual work |
|---|---|---|---|
| Site covered | lopes.com.br network | zapimoveis, vivareal, olx | Any, one by one |
| Price per 1,000 | $12.50 card, $20.00 detailed | $1.99 to $5.00 | Your hours |
| Condos and developers | Yes, both profiles | Not shown on their pages | Copy and paste |
| Incremental mode | Only new or changed | Not shown on their pages | Compare files yourself |

Lopes inventory appears only here. On price per 1,000 results this Actor is now the most expensive option listed ($12.50 to $20.00 against $1.99 to $5.00), so the case for it is the data: the Lopes network, fees, condominiums and launches. Other portals list other ads, with overlap you cannot assume, and some return advertiser phones and names, which this Actor leaves out. If you need broker contacts, other portals or the lowest cost per row, pick one of those scrapers. If you need the Lopes network with fees, condominiums and launches, this is the one.

### ⚙️ Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `mode` | string | search | search, urls, sitemap, condominiums or developers |
| `operation` | string | sale | sale, rent or launch |
| `state`, `city`, `neighborhood` | string | sp | Place to search; accents optional |
| `startUrls`, `skus` | array | empty | Lopes URLs or codes such as `REO591868` |
| `propertyTypes`, `bedrooms`, `features` | array | empty | Type, room and amenity filters |
| `minPrice`, `maxPrice`, `minArea`, `maxArea` | integer | 0 | Price in BRL and area in m2 |
| `includeDetails` | boolean | true | Full detail row ($20.00 per 1,000) or card ($12.50) |
| `onlyNew` | boolean | false | Monitor mode: new or price-changed listings only |
| `maxItems` | integer | 50 | Stop after this many rows |

### 🚀 How to use

1. Create a free account on [Apify Console](https://console.apify.com) (new accounts include free monthly credit).
2. Open **Lopes Scraper - Imóveis Brasil** and pick **What to collect**.
3. For a search choose the operation, state, city and neighborhood, then optional filters. For other modes fill the Lopes URLs, listing codes or catalog keywords.
4. Set **Maximum items**. Free plans return up to 10 items per run.
5. Press **Start**, then download the dataset as CSV, Excel, JSON, XML or HTML, or read it through the API.

Example input for apartments to rent in Pinheiros, São Paulo, with 2 bedrooms:

```json
{
  "mode": "search",
  "operation": "rent",
  "state": "sp",
  "city": "sao-paulo",
  "neighborhood": "pinheiros",
  "propertyTypes": ["apartamento"],
  "bedrooms": ["2"],
  "maxItems": 100
}
```

### 💼 Business use cases

- **Investors and analysts:** group by `pricePerM2`, `areaBuilt` and `maintenanceFee` to rank areas by price or yield.
- **Brokers and proptech:** track competitor inventory by `agencyId` and spot new stock with monitor mode.
- **Developers:** follow lançamentos by city with stage, unit mix, floor plans and the developer.
- **Lenders and appraisers:** collect geocoded comparables with fees and nearby places.

### 🔌 Automating the Lopes Scraper

Schedule runs in Apify Console and send results to Make, Zapier, n8n, Google Sheets, Slack or Airbyte, or start your own pipeline with webhooks and the Apify API.

### 🤖 Use it from an AI assistant (MCP)

Add the Apify MCP server with this Actor enabled: `https://mcp.apify.com?tools=RecordsData/lopes-br-scraper`. The assistant then sees the Actor as a tool whose description reads: "Scrape lopes.com.br real estate: listings for sale and rent, new developments, condominiums and developers in Brazil, with BRL prices, coordinates, fees, amenities and photos."

Example prompt for your agent: "Get 50 apartments for rent in Pinheiros, São Paulo, with 2 bedrooms from Lopes, then rank them by price per square meter and list the five cheapest with their condominium fee."

The agent sends `{"mode":"search","operation":"rent","state":"sp","city":"sao-paulo","neighborhood":"pinheiros","propertyTypes":["apartamento"],"bedrooms":["2"],"maxItems":50}` and receives typed rows it can sort and summarize directly.

### 💵 Pricing and worked examples

Pay per result, no separate compute charge on the event price. Live prices on 2026-10-11:

| Event | Price | Per 1,000 |
|---|---|---|
| Detailed listing | $0.02 | $20.00 |
| Listing card (details off) | $0.0125 | $12.50 |
| New development (launch) | $0.02 | $20.00 |
| Condominium profile | $0.015 | $15.00 |
| Developer profile | $0.015 | $15.00 |
| Catalog row (sitemap, details off) | $0.0025 | $2.50 |

- 500 detailed apartments in one neighborhood: 500 x $0.02 = $10.00.
- 5,000 listing cards for a city: 5,000 x $0.0125 = $62.50.
- All 115 developers: 115 x $0.015 = $1.73.
- 20,000 catalog rows to map inventory: 20,000 x $0.0025 = $50.00.
- Invalid input, zero matches and skipped rows in monitor mode are not charged.

### ⚖️ Limits and legal notes

The site gives no listing dates and returns results in an unstable order, so very deep crawls can miss a few percent. The Actor reads only public data and excludes personal data; you stay responsible for your use under local law such as the LGPD and the site terms.

### Frequently Asked Questions

#### 🏠 What data can I scrape from Lopes?

Resale and rental listings, new developments (lançamentos), condominium profiles and developer profiles. Each record carries price in BRL, address, coordinates, area, rooms, amenities, fees such as condominium and IPTU, and photos, wherever the site publishes them. Fields without a value are left out instead of filled with null, so every column you see has real data behind it.

#### 🔎 How do I scrape Lopes listings for one city or neighborhood?

Set the mode to search, choose a state, type a city such as `sao-paulo` or `São Paulo`, and optionally a neighborhood such as `moema`. Names work with or without accents. Then pick sale, rent or launch, add any filters, set **Maximum items** and press Start. The Actor keeps only listings inside the place you named and stops reading when neighbouring results begin.

#### 📍 Why does the Actor drop some listings the website shows?

Lopes searches by distance, so a search for one city also returns listings from neighbouring cities. The Actor keeps only listings inside the place you chose. Turn off **Keep only the chosen place** if you want everything the site returns.

#### 🔢 How many listings can one search return?

By default up to 5,000 per search (50 pages of up to 100). Raise **Maximum result pages per search** (up to 1,000) for bigger areas. The site's own search covers a state such as São Paulo with about 76,000 sale listings.

#### 🔁 Why do very large searches contain gaps or repeats?

The website does not return results in a stable order between requests. The Actor removes repeated listings, but a deep crawl of a very large area can still miss a few percent. For complete coverage split the area into neighborhoods or price bands, or use the **sitemap** mode, which lists the catalog in a fixed order.

#### 📅 Is there a publication date for each listing?

No. Lopes does not publish listing dates anywhere, and the catalog sitemap carries the same date for every URL, so the Actor cannot invent one. To follow new stock, schedule the same search with monitor mode (**Only new or changed listings**). It remembers each listing code and price, and returns a listing again only when it is new or its price changed.

#### 💰 Why does a launch have no price?

Lopes lists new developments without a price, so the Actor does not make one up. Launch rows return what the site does show: area, bedroom and parking ranges, construction stage, unit mix, floor plans, photos and the developer behind the project. Resale and rent listings keep their normal price fields, in numbers and as the text the website shows.

#### 🧑 Does it return agent names, phones or emails?

No. Broker and private-seller names, personal phones and emails are never returned. You get the Lopes office id, office name and office type. The business WhatsApp number of Lopes-owned offices is output only if you switch on **Include office phone**, and it is off by default, so a normal run contains no contact data of individuals.

#### 🛡️ Do I need a proxy or an API key?

No. The data comes from public services that need no key, login, cookie or proxy, and cloud runs on Apify datacenter addresses finished without blocked requests. The Actor sends a few requests in parallel (four by default), spaces them politely and retries temporary errors, so you only need an Apify account to start a run.

#### 🧪 What happens if my input is wrong or nothing matches?

Invalid input, for example a reversed price range or a neighborhood without a city, ends the run as succeeded with one error row that explains the fix. A valid search with no matches also succeeds, with zero rows and a clear status message. Neither case returns billable results, so a typo costs nothing and you can correct the input and run again.

#### 🆓 What do free plans get?

Free Apify plans can collect up to 10 items per run, which is enough to check the fields and the format before you buy anything. Paid plans use the **Maximum items** value you set, up to the limits of your account. New Apify accounts also include free monthly credit, so a first test of the Actor usually costs nothing.

#### 📤 Which formats can I export?

CSV, Excel, JSON, XML, HTML and RSS, all downloadable from the dataset in Apify Console. You can also read the rows through the Apify API or the JavaScript and Python clients, or send them to Google Sheets, Make, Zapier or n8n. The overview view shows the key columns, and the full view shows every field of each record.

### 🔗 Recommended Actors

- [RecordsData collection](https://apify.com/RecordsData): other real estate and public data scrapers by the same team.

> 💡 **Pro Tip:** browse the complete [RecordsData collection](https://apify.com/RecordsData) to combine Lopes with other markets.

**🆘 Need help?** Write to <contact.punkrecordsdata@gmail.com> or open an issue in the Issues tab.

> **⚠️ Disclaimer:** This is an independent tool and is not affiliated with, endorsed by or sponsored by Lopes. It collects only publicly available data.

Last updated: 2026-10-11

# Actor input Schema

## `mode` (type: `string`):

search = listings from a location with filters. urls = the Lopes URLs and codes you list below. sitemap = walk the public catalog (all listings, filtered by operation and keywords). condominiums = condominium profiles. developers = developers (incorporadoras) with their launches. If you fill startUrls or skus while mode is search, the actor reads those instead.

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

lopes.com.br pages to read: search results (/busca/venda/br/sp/sao-paulo/moema/tipo/apartamento), a listing (/imovel/REO...), a launch (/lancamento/REM...), a condominium (/condominios/.../REC...) or a developer (/empreendimentos/slug). Search URLs also honour /tipo/, /comodidade/com- and /pagina/ segments.

## `skus` (type: `array`):

Lopes codes to fetch directly: REO123456 (resale or rent), REM12345 (new development) or REC12345 (condominium). One per line.

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

Stops after this many rows (all record types together). Free plans are limited to 10 items per run.

## `operation` (type: `string`):

Buy, rent or new developments. In sitemap mode this also filters the catalog.

## `state` (type: `string`):

Brazilian state (two-letter code). Required for search mode; also narrows the condominium catalog.

## `city` (type: `string`):

City name or slug, for example sao-paulo or "São Paulo". Leave empty for the whole state.

## `neighborhood` (type: `string`):

Neighborhood name or slug, for example moema. Needs a city. Matches the neighborhood printed on each listing.

## `strictLocation` (type: `boolean`):

On: drop listings from neighbouring cities and neighborhoods that the site mixes into results. Off: return everything the site returns for the search.

## `maxPagesPerSearch` (type: `integer`):

Safety limit on pages read for one search (20 to 100 listings per page). Raise it for very large areas.

## `propertyTypes` (type: `array`):

Only these types (any of them). Empty means all types.

## `minPrice` (type: `integer`):

Lowest sale price, or lowest monthly rent for rentals. 0 means no limit.

## `maxPrice` (type: `integer`):

Highest sale price, or highest monthly rent for rentals. 0 means no limit.

## `minArea` (type: `integer`):

Smallest area in square meters. 0 means no limit.

## `maxArea` (type: `integer`):

Largest area in square meters. 0 means no limit.

## `bedrooms` (type: `array`):

Number of bedrooms (any of the selected). 4 means 4 or more.

## `suites` (type: `array`):

Number of suites (any of the selected). 4 means 4 or more.

## `bathrooms` (type: `array`):

Number of bathrooms (any of the selected). 4 means 4 or more.

## `parkingSpaces` (type: `array`):

Number of parking spaces (any of the selected). 4 means 4 or more.

## `features` (type: `array`):

Listings that have any of the selected amenities (pool, gym, balcony...).

## `companyId` (type: `string`):

Only listings handled by one Lopes office. Take the id from the agencyId column of an earlier run.

## `sitemapKeywords` (type: `array`):

Sitemap mode only. Every keyword must appear in the listing address slug, for example sao-paulo and moema. Property types and bedrooms above also filter the catalog.

## `developerSlugs` (type: `array`):

Developers mode only. Developer slugs such as carvalho-hosken. Empty reads all 115 developers.

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

On: one extra request per listing for the full gallery, amenities, nearby places, fees and description (billed as the detailed listing). Off: search-card data only (cheaper, 5 photos). In sitemap mode, off returns light catalog rows.

## `includeContactDetails` (type: `boolean`):

Adds the business WhatsApp number of Lopes-owned offices (agencyPhone). Brokers and private people are never output.

## `includeLaunches` (type: `boolean`):

Developers mode only: add the list of launches of each developer to its row.

## `maxConcurrency` (type: `integer`):

How many detail requests run at the same time. The actor also spaces requests politely.

## `onlyNew` (type: `boolean`):

Skips listings delivered by an earlier run of the same search (a listing comes back when its price changes). Nothing skipped is charged.

## `stateKey` (type: `string`):

Optional label to keep several monitors with identical filters apart.

## `resetSeen` (type: `boolean`):

Clears the memory of this search before the run, so everything counts as new.

## Actor input object example

```json
{
  "mode": "search",
  "startUrls": [],
  "skus": [],
  "maxItems": 10,
  "operation": "sale",
  "state": "sp",
  "city": "sao-paulo",
  "neighborhood": "moema",
  "strictLocation": true,
  "maxPagesPerSearch": 50,
  "propertyTypes": [],
  "minPrice": 0,
  "maxPrice": 0,
  "minArea": 0,
  "maxArea": 0,
  "bedrooms": [],
  "suites": [],
  "bathrooms": [],
  "parkingSpaces": [],
  "features": [],
  "companyId": "",
  "sitemapKeywords": [],
  "developerSlugs": [],
  "includeDetails": true,
  "includeContactDetails": false,
  "includeLaunches": true,
  "maxConcurrency": 4,
  "onlyNew": false,
  "stateKey": "",
  "resetSeen": false
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields per row

## `fullData` (type: `string`):

Complete dataset with all fields

# 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 = {
    "startUrls": [],
    "skus": [],
    "maxItems": 10,
    "state": "sp",
    "city": "sao-paulo",
    "neighborhood": "moema"
};

// Run the Actor and wait for it to finish
const run = await client.actor("recordsdata/lopes-br-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 = {
    "startUrls": [],
    "skus": [],
    "maxItems": 10,
    "state": "sp",
    "city": "sao-paulo",
    "neighborhood": "moema",
}

# Run the Actor and wait for it to finish
run = client.actor("recordsdata/lopes-br-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 '{
  "startUrls": [],
  "skus": [],
  "maxItems": 10,
  "state": "sp",
  "city": "sao-paulo",
  "neighborhood": "moema"
}' |
apify call recordsdata/lopes-br-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,recordsdata/lopes-br-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/VCRQwnj9ioF4Oi9Ok/builds/vdFk4Qjhvar6Pzm7P/openapi.json
