OLX Portugal Classifieds Scraper avatar

OLX Portugal Classifieds Scraper

Pricing

Pay per event

Go to Apify Store
OLX Portugal Classifieds Scraper

OLX Portugal Classifieds Scraper

Scrape public OLX.pt classifieds from category/search pages. Export prices, locations, images, seller details, and listing URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrape public OLX.pt classified listings from category pages, search result pages, and keyword searches. Export listing URLs, titles, prices, locations, dates, images, source pages, and optional detail-page enrichment in a clean dataset ready for spreadsheets, BI tools, CRMs, or automations.

What does OLX Portugal Classifieds Scraper do?

OLX Portugal Classifieds Scraper collects public listing data from OLX.pt, one of Portugal's most active classified marketplaces.

It can scrape:

  • 🏠 Real estate category pages
  • πŸš— Car and vehicle listings
  • πŸ“± Electronics and consumer goods searches
  • 🧰 Services and local offers
  • πŸ”Ž Any public OLX.pt search URL you provide

The actor starts from OLX category URLs or a keyword search, follows pagination, extracts listing cards, and saves structured results to the default Apify dataset.

Who is it for?

This scraper is useful for teams that need repeatable OLX Portugal marketplace data.

  • 🏘️ Real estate analysts monitoring rental and sale supply in Portuguese cities
  • πŸš™ Vehicle price researchers tracking used car offers by region
  • πŸ›’ Marketplace intelligence teams comparing second-hand prices and availability
  • πŸ“ˆ Growth and lead-generation teams finding public seller opportunities
  • πŸ§ͺ Data analysts building market snapshots from public classified listings
  • πŸ€– Automation builders feeding OLX listings into alerts, CRMs, or dashboards

Why use this OLX.pt scraper?

Manual OLX research is slow and difficult to repeat. This actor gives you structured data with consistent fields and pagination controls.

Benefits:

  • ⚑ Fast HTTP-based scraping, no browser required for the main listing mode
  • 🧾 Clean JSON output with price, currency, location, images, and page metadata
  • πŸ” Repeatable runs for monitoring the same categories or searches
  • 🎯 Supports both ready-made OLX URLs and keyword searches
  • 🧩 Works with Apify API, webhooks, datasets, integrations, and MCP tools

What data can you extract from OLX Portugal?

The default dataset contains one row per OLX listing.

FieldDescription
listingIdOLX card ID or ID parsed from the listing URL
urlCanonical OLX listing URL
titlePublic listing title
priceTextPrice as displayed on OLX
priceParsed numeric price when available
currencyCurrency code, usually EUR
locationPublic location text from the card
postedAtPosted, updated, or promoted date text
categoryPathCategory path supplied in input
imageUrlMain listing image URL
imageUrlsImage URLs parsed from the listing card
sellerNamePublic seller name when detail mode finds it
sellerTypePublic seller type when visible
descriptionDetail-page description when detail mode is enabled
attributesVisible detail-page parameters when found
isPromotedWhether the card appears promoted/top-listed
sourceUrlOLX page where the listing was found
pageSearch result page number
scrapedAtISO timestamp of extraction

How much does it cost to scrape OLX Portugal classifieds?

This actor uses pay-per-event pricing:

  • Run start: $0.005 per run.
  • Per listing: $0.000034986 on Free, $0.000030423 on Starter/BRONZE, with lower rates on higher Apify plans.
Plan tierPrice per listingApprox. 1,000 listings
Free$0.000034986$0.0350
Starter / BRONZE$0.000030423$0.0304
Scale / SILVER$0.00002373$0.0237
Business / GOLD$0.000018254$0.0183

You control cost with maxResults and maxPages. For a first run, keep the prefilled limit around 20 listings. Larger monitoring jobs can increase the limit after you confirm the output fits your workflow.

How to scrape OLX.pt listings

  1. Open the actor on Apify.
  2. Paste one or more OLX.pt category or search URLs into OLX.pt category or search URLs.
  3. Set Maximum listings.
  4. Keep Open detail pages disabled for the fastest card-only run.
  5. Enable detail pages only if you need descriptions, seller names, or attributes.
  6. Click Start.
  7. Download the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

Input options

OLX.pt category or search URLs

Use this when you already have OLX result pages, for example:

https://www.olx.pt/imoveis/
https://www.olx.pt/carros-motos-e-barcos/
https://www.olx.pt/ads/q-iphone/

Search keyword

If startUrls is empty, the actor can build an OLX keyword URL from searchQuery, such as:

iphone
apartamento lisboa
bicicleta estrada

Fallback category path

If both startUrls and searchQuery are empty, the actor uses categoryPath, defaulting to /imoveis/.

Maximum listings

The global cap for saved rows. The actor stops as soon as this number is reached.

Open detail pages

When enabled, the actor opens each listing URL and tries to extract description, seller name/type, and public attributes.

Detail mode is slower because it makes one extra request per listing.

Example input

{
"startUrls": [
{ "url": "https://www.olx.pt/imoveis/" }
],
"maxResults": 30,
"includeDetails": false,
"maxPages": 3,
"maxRequestRetries": 3
}

Example output

{
"listingId": "669245007",
"url": "https://www.olx.pt/d/anuncio/quarto-da-natureza-IDJi5cj.html",
"title": "Quarto da Natureza",
"priceText": "350 €",
"price": 350,
"currency": "EUR",
"location": "Carregado E Cadafais",
"postedAt": "Para o topo a 14 de maio de 2026",
"imageUrl": "https://ireland.apollo.olxcdn.com/.../image;s=216x152;q=50",
"isPromoted": true,
"sourceUrl": "https://www.olx.pt/imoveis/",
"page": 1,
"scrapedAt": "2026-05-17T08:00:00.000Z"
}

Tips for better OLX scraping

  • 🎯 Use specific category URLs when possible.
  • πŸ”Ž Use keyword search for product monitoring.
  • πŸ“‰ Start with a low maxResults value to verify your query.
  • ⚑ Leave detail pages off for fast list monitoring.
  • 🧾 Turn detail pages on only when descriptions or seller fields matter.
  • πŸ” Schedule the actor to monitor categories over time.
  • πŸ“ Use separate runs for different cities or categories to keep analysis clean.

Integrations and workflows

You can connect this actor to common Apify workflows:

  • Send new OLX listings to Google Sheets.
  • Push real estate listings to Airtable for review.
  • Trigger Slack alerts when new listings match a query.
  • Export daily vehicle prices to a data warehouse.
  • Feed marketplace intelligence dashboards with fresh CSV files.
  • Use webhooks to launch downstream enrichment actors.

API usage: using the OLX scraper with the Apify API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/olx-portugal-classifieds-scraper').call({
startUrls: [{ url: 'https://www.olx.pt/imoveis/' }],
maxResults: 30,
includeDetails: false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/olx-portugal-classifieds-scraper').call(run_input={
'startUrls': [{'url': 'https://www.olx.pt/imoveis/'}],
'maxResults': 30,
'includeDetails': False,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~olx-portugal-classifieds-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://www.olx.pt/imoveis/"}],"maxResults":30,"includeDetails":false}'

Use with AI agents via MCP

OLX Portugal Classifieds Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Setup for Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com"

Setup for Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

Your AI assistant will authenticate with your Apify account on first use. You can then reference automation-lab/olx-portugal-classifieds-scraper in prompts.

Example prompts:

  • "Use automation-lab/olx-portugal-classifieds-scraper to collect 50 OLX.pt apartment listings in Lisbon and summarize prices."
  • "Run the OLX Portugal scraper for iPhone listings and identify the cheapest offers."
  • "Scrape OLX Portugal real estate listings and create a CSV grouped by location."

This actor extracts publicly available listing information from OLX.pt pages. You are responsible for using the output lawfully and respecting applicable rules, privacy requirements, and platform terms.

Do not use this actor to scrape private account data, bypass login protections, spam sellers, or make automated decisions that require legal review.

Limitations

  • OLX page markup can change, so selectors may need maintenance over time.
  • Some fields are only available on detail pages.
  • Seller phone numbers and private contact details are not collected.
  • Search availability depends on what OLX publicly shows for your query.
  • Very broad searches may require more pages and a higher maxResults limit.

FAQ and troubleshooting

How fast is the OLX Portugal scraper?

Card-only HTTP runs usually finish quickly because no browser is opened. A 120-listing cloud test finished in under 10 seconds of actor runtime.

How much does it cost to scrape OLX.pt?

The actor charges a small run-start fee plus a per-listing event. Use maxResults to cap the total cost of each run.

Does OLX Portugal have an official API?

This actor is designed for public OLX.pt pages when you need export-ready listing data and Apify integrations without building your own scraper.

Why did I get fewer listings than requested?

The selected OLX category or search may have fewer visible results, repeated promoted cards, or pagination limits. Try a broader query or increase maxPages.

Why are descriptions empty?

Descriptions require includeDetails: true. In card-only mode, the actor does not open listing pages.

Why is price missing?

Some OLX ads show negotiable, free, exchange, or contact-only pricing. In those cases priceText may be present while numeric price is empty.

Explore other Automation Lab actors for marketplace, ecommerce, real estate, and lead-generation workflows:

Changelog

0.1

Initial version with OLX.pt category/search scraping, pagination, listing-card extraction, optional detail enrichment, and structured dataset output.