# Piscapisca Automotive Search Scraper (`stealth_mode/piscapisca-automotive-search-scraper`) Actor

Scrape vehicle listings from Pisca Pisca Portugal with 30+ fields per car including price, mileage, specifications, seller info, and more. Perfect for market analysis, price monitoring, and automotive data aggregation. Handle pagination automatically with configurable extraction limits.

- **URL**: https://apify.com/stealth\_mode/piscapisca-automotive-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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/platform/actors/running/actors-in-store#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

## Pisca Pisca Automotive Scraper: Extract Car Listings Data Instantly

***

### About Pisca Pisca

Pisca Pisca (piscapisca.pt) is Portugal's leading online automotive marketplace, hosting thousands of used and new car listings from private sellers and dealerships. The platform provides detailed vehicle specifications, pricing, seller profiles, and financing options. Collecting this automotive data manually is inefficient—the **Pisca Pisca Automotive Scraper** automates extraction of structured vehicle records, enabling market intelligence at scale.

***

### Overview

The **Pisca Pisca Automotive Scraper** extracts comprehensive vehicle listings from Pisca Pisca search pages, converting unstructured HTML into clean, structured data records. It is designed for:

- **Dealers & resellers** monitoring competitor pricing and inventory
- **Market researchers** analyzing automotive trends in Portugal
- **Data analysts** building price comparison datasets
- **Developers** integrating vehicle data into aggregation platforms
- **Auto enthusiasts** tracking specific make/model availability

The scraper handles pagination seamlessly, supports proxy rotation to avoid detection, and gracefully manages failed URLs without interrupting batch runs.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.piscapisca.pt/carros?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
```

#### Input Parameters

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Links to Pisca Pisca search result pages (e.g., filtered by price, brand, or region). Supports multiple URLs for batch collection. |
| `max_items_per_url` | Integer | Maximum vehicles extracted per page (e.g., `200`). Set lower for controlled testing, higher for comprehensive collection. |
| `ignore_url_failures` | Boolean | If `true`, skips unreachable or invalid pages without halting the entire run. Recommended for large-scale operations. |

> **Example:** To scrape VW vehicles under €15,000, use a filtered Pisca Pisca URL in the `urls` array.

***

### Output Format

**Sample output**

```json
{
  "id": "DyP8y",
  "thumbnail": "https://static.piscapisca.pt/custom/companies/company_6Mr/stand_22xp/cc28e840-74a5-4396-9608-84149bfdec3c/m_volkswagen-id-4-pro-performance-77-kwh-2021-eletrico-20260214133729929.jpg",
  "brand": "Volkswagen",
  "model": "ID.4",
  "serie": "Pro Performance 77 kwh, Cx. A., 204cv",
  "prices": {
    "private": 25250,
    "professional": 0
  },
  "year": "2021",
  "km": "88 000 km",
  "fuel": "Elétrico",
  "transmission": "Automática",
  "favourite": false,
  "comparing": false,
  "certification": {
    "inspected": false,
    "associate": "",
    "home_delivery": true,
    "control_auto": false
  },
  "sort": [],
  "stand": "Xiotecar, Unipessoal Lda",
  "stand_url": "https://www.piscapisca.pt/stand/xiotecar-unipessoal-lda-ID22xp",
  "company_url": "/empresa/xiotecar/6Mr",
  "seller": "",
  "link": "/carros/usados/volkswagen-id-4-pro-performance-77-kwh-eletrico/DyP8y",
  "cylinder_capacity": "",
  "origin": "Importado",
  "power_cv": null,
  "vehicle_type": "SUV e TT",
  "is_highlight_plus": false,
  "is_highlight_segment": false,
  "kms_in_validation": false,
  "logotype": "https://static.piscapisca.pt/custom/companies/company_6Mr/252ee7bdfc453bb5670dbaa24a1ef87b.jpg",
  "financing_simulation": null,
  "stand_location": {
    "address": "Rua da Fé",
    "city": "Quinta do Conde",
    "district": "Setúbal",
    "county": "Sesimbra",
    "country": "Portugal",
    "door_number": "",
    "floor_number": "",
    "postal_code": "2975-369"
  },
  "has_configured_financing_table": false,
  "warranty": "Stand - 18 meses - Por Mútuo Acordo",
  "stand_financing": true,
  "vehicle_report": true,
  "from_url": "https://www.piscapisca.pt/carros?page=2"
}
```

Each vehicle record contains 30+ fields with complete specifications and seller details:

#### Vehicle Identification

| Field | Meaning |
|---|---|
| `ID` | Unique Pisca Pisca listing identifier |
| `Link` | Direct URL to the vehicle's detail page |
| `Thumbnail` | Primary vehicle image URL |
| `Brand` | Manufacturer name (e.g., Volkswagen, BMW) |
| `Model` | Car model (e.g., Golf, 3 Series) |
| `Serie` | Model generation or series variant |

#### Pricing & Financial

| Field | Meaning |
|---|---|
| `Prices` | Listed asking price in EUR |
| `Financing Simulation` | Available financing option details |
| `Has Configured Financing Table` | Boolean indicating if financing calculator is available |
| `Stand Financing` | Dealer-specific financing offers |

#### Technical Specifications

| Field | Meaning |
|---|---|
| `Year` | Vehicle manufacturing year (e.g., 2019) |
| `KM` | Odometer reading in kilometers |
| `Fuel` | Fuel type (gasoline, diesel, electric, hybrid, etc.) |
| `Transmission` | Gearbox type (manual, automatic, CVT) |
| `Cylinder Capacity` | Engine displacement in cc or liters |
| `Power CV` | Engine power in horsepower (CV) |
| `Vehicle Type` | Category (sedan, SUV, hatchback, estate, etc.) |
| `Origin` | Country or region of origin |

#### Listing Features & Flags

| Field | Meaning |
|---|---|
| `Favourite` | Boolean indicating if user has marked as favorite |
| `Comparing` | Boolean indicating if user is comparing this vehicle |
| `Certification` | Official certifications (e.g., EU inspection) |
| `Warranty` | Warranty status or coverage period |
| `Is Highlight Plus` | Premium listing promotion flag |
| `Is Highlight Segment` | Segment-specific promotion flag |
| `KMS In Validation` | Mileage verification status |
| `Vehicle Report` | Available vehicle history report or inspection data |

#### Seller Information

| Field | Meaning |
|---|---|
| `Seller` | Dealer or private seller name |
| `Stand` | Dealership name (if applicable) |
| `Stand URL` | Dealership website or Pisca Pisca profile URL |
| `Company URL` | Official company website |
| `Stand Location` | Dealership physical location or region |

#### Additional Data

| Field | Meaning |
|---|---|
| `Sort` | Sort order value from the search results |
| `Logotype` | Seller/dealership logo image URL |

***

### How to Use

1. **Prepare URLs** — Navigate to Pisca Pisca search results (filtered by brand, price, location, etc.). Copy the search page URL.
2. **Configure input** — Paste URLs into the `urls` array. Adjust `max_items_per_url` (typically 50–200 for balance between volume and speed).
3. **Enable resilience** — Set `ignore_url_failures: true` for production runs to skip temporarily unavailable pages.
4. **Run the scraper** — Start the actor and monitor progress via logs.
5. **Export data** — Download results as JSON, CSV, or import into Excel/database.

**Best practices:**

- Use search filters (price range, brand, year) to narrow URLs before scraping.
- Lower `max_items_per_url` for testing; increase for full inventories.
- Schedule recurring runs to track price changes and new listings.

***

### Use Cases & Business Value

- **Price monitoring:** Track average asking prices by make, model, and region over time.
- **Competitor intelligence:** Monitor dealership inventory and promotional tactics.
- **Market trends:** Analyze demand for specific fuel types, transmissions, or vehicle ages.
- **Data enrichment:** Feed listings into your own automotive marketplace or comparison tool.

The Pisca Pisca Automotive Scraper transforms raw marketplace data into actionable intelligence, supporting pricing strategies, inventory management, and market-driven business decisions.

***

### Conclusion

The **Pisca Pisca Automotive Scraper** is an efficient solution for anyone requiring large-scale Portuguese automotive market data. With 30+ fields per vehicle and flexible configuration, it eliminates manual data entry and provides real-time insights into the Portuguese used-car market. Start scraping today and unlock competitive advantage in automotive analytics.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the auctions urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.piscapisca.pt/carros?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.piscapisca.pt/carros?page=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/piscapisca-automotive-search-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 = {
    "urls": ["https://www.piscapisca.pt/carros?page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/piscapisca-automotive-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.piscapisca.pt/carros?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/piscapisca-automotive-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stealth_mode/piscapisca-automotive-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/DPwDUUFbeC0CpSZ6o/builds/dGoxLAiDXJd3DGPJM/openapi.json
