# Clasipar Scraper - Paraguay Classifieds, Phones & Emails (`normdata/clasipar-scraper`) Actor

Scrape every listing on Clasipar, Paraguay's biggest classifieds site: cars, homes, jobs, services and more. Get title, price in Gs or US$, city, category, seller, photos, plus description, attributes, map, views and the seller's phones, WhatsApp and email. Filter by category, words, city, price.

- **URL**: https://apify.com/normdata/clasipar-scraper.md
- **Developed by:** [Norm Data](https://apify.com/normdata) (community)
- **Categories:** Lead generation, Real estate, E-commerce
- **Features:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 listings

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?

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

![Norm Data](https://raw.githubusercontent.com/FabriAV/normdata/refs/heads/main/assets/banner_norm2.png)

## 📰 Clasipar Scraper - Paraguay Classifieds, Phones & Emails

Extract every listing from **Clasipar** (clasipar.paraguay.com), the biggest classifieds site of Paraguay, with well over 100,000 listings: cars, houses, land, apartments, jobs, services, electronics, furniture, pets and more. For each listing you get the **title, price in guaraníes or US$, listing type (selling, buying, for rent), who offers it (private, dealer, real estate agency...), city, category and subcategory, paid tier, main photo and link**. Turn on **listing details** to also get the **full description, attributes (brand, year, rooms, fuel...), department, zone, map point, views, publish date and every photo, plus the seller's name, every phone, WhatsApp number and email**. It collects **1,000 listings in about 30 seconds** and can run on a schedule to send you **only new listings**.

> 👉 **Try it now:** press **Start**. The ready-made input gives you 10 listings in a few seconds.<br>
> 💰 **$0.004 per listing** on the Free plan (10 listings per run), from $0.0036 on paid plans. [See pricing](#-pricing)

### ✨ Why this scraper?

> - **Complete**<br>
>   Clasipar shows its listings in a new random order on every page, so reading pages one after another repeats some listings and misses others. This scraper cuts each search by price, category, type and place until every part fits on one page, so each listing comes exactly once.
>
> - **Fast**<br>
>   1,000 listings in about 30 seconds without details, about 3 minutes with them.
>
> - **Seller contacts**<br>
>   Every phone and WhatsApp number in +595 format, and the email, as the site shows them behind its "show contact" button.
>
> - **Clean, typed data**<br>
>   Prices, views, photo counts and coordinates are numbers. Prices keep their currency (PYG or USD). Dates are YYYY-MM-DD. Hidden "Clasipar.com" filler text is removed from titles and descriptions.
>
> - **Nothing to set up**<br>
>   No proxy, no login.
>
> - **The whole site or any part of it**<br>
>   Every listing of your search, not only the 10,000 the site shows per search: big searches are cut into small parts automatically.
>
> - **Apify platform**<br>
>   Schedule runs, get only new listings, export to Excel or CSV, use the API, or connect Google Sheets, Zapier and Make.

### 🚀 How to scrape Clasipar

1. Create a free Apify account.
2. Pick the filters you need, or keep the ready-made input.
3. Click **Start**.
4. Download the listings as Excel, CSV or JSON from the **Output** tab.

### 💰 Pricing

#### How much does it cost to scrape Clasipar?

You pay a one-time **$0.003** per run, plus a price for each listing saved (and for each add-on you turn on):

| Charged for | Free | Bronze | Silver | Gold+ |
| --- | --- | --- | --- | --- |
| **Listing**: Charged for each Clasipar listing saved to the dataset. | 0.004 | 0.0036 | 0.0033 | 0.003 |
| **Listing details**: Charged for each listing saved with its page details and seller contact (phones, WhatsApp, email), only when Listing details is on. | 0.012 | 0.0108 | 0.0097 | 0.0088 |

Example: 1,000 listings cost about **$3.6** on Bronze. No proxy or compute costs on top.

### 📦 What data you get

| Field | Description |
| --- | --- |
| `imageUrl` | Main photo, large size. |
| `title` | Listing title. |
| `price`, `currency` | Asking price and its currency: PYG (guaraníes) or USD, as the seller set it. Empty when the seller asks to be contacted for the price. |
| `priceText` | The price as the site shows it, like "Gs. 45.000.000" or "Consultar precio". |
| `intent` | What the poster wants: Vendo, Ofrezco, Compro, Busco, Doy en alquiler... |
| `offeredBy` | Who posts it, like Particular, Playa, Inmobiliaria or Agencia. Empty for listing links. |
| `city` | City. |
| `category`, `subcategory`, `categoryPath` | Category and subcategory names, and the category path (like motor/autos). |
| `sellerName` | Seller or company name. |
| `listingTier` | Premium, Featured (paid listings) or Standard. Empty for listing links. |
| `id` | The site's listing ID. |
| `description` | *(Listing details)* The seller's full description. |
| `department`, `zone` | *(Listing details)* Department and zone (neighborhood), when given. |
| `latitude`, `longitude` | *(Listing details)* Map point, when the seller set one. |
| `views` | *(Listing details)* How many times the listing was viewed. |
| `photoCount` | *(Listing details)* Number of photos. |
| `phone`, `whatsapp` | *(Listing details)* Main phone and WhatsApp number, in +595 format. |
| `email` | *(Listing details)* The seller's email, when shown. |
| `expired` | *(Listing details)* The listing is over 45 days old and marked expired by the site (still online). |
| `url` | Link to the listing. |
| `sellerUrl` | The seller's page on the site, with all their listings (companies and stores only). |
| `attributes` | *(Listing details)* The listing's attributes as the site names them, like {"Marca": "Toyota", "Año": "2018", "Combustible": "Diesel"}. |
| `photos` | *(Listing details)* Every photo, full size. |
| `phones`, `whatsappNumbers` | *(Listing details)* Every phone and every WhatsApp number of the seller. |
| `publishedAt` | *(Listing details)* Date the listing went up. |
| `scrapedAt` | When this row was saved. |
| `error` | Only present when a row failed. The fields that loaded are still there. |

Fields marked *Listing details* only appear when that add-on is on.

#### Example row (trimmed)

```json
{
  "imageUrl": "https://clasicdn.paraguay.com/pictures/2024/09/19/2482099/10391102L.webp",
  "title": "** COMPRO AUTOS PARA REVENDER ** EN OFERTA **",
  "price": 45000000,
  "currency": "PYG",
  "priceText": "Gs. 45.000.000",
  "intent": "Vendo",
  "offeredBy": "Playa",
  "city": "Asunción",
  "category": "Motor",
  "subcategory": "Autos",
  "categoryPath": "motor/autos",
  "sellerName": "D Y G MOTORS S.R.L.",
  "listingTier": "Premium",
  "id": "2482099",
  "description": "AUTOS DE PREFERENCIA MARCA TOYOTA / NISSAN!, EN OFERTA PARA REVENDER! DE ÚNICO DUEÑO Y CON PAPELES EN REGLA!! SU CONSULTA NO MOLESTA!\nLLAMANOS",
  "zone": "Villa Aurelia",
  "latitude": -25.310967,
  "longitude": -57.554511,
  "views": 1885,
  "photoCount": 1,
  "phone": "+595981670933",
  "whatsapp": "+595981670933",
  "email": "dygmotorssrl@gmail.com",
  "expired": false,
  "url": "https://clasipar.paraguay.com/motor/autos/compro-autos-para-revender-en-oferta-2482099",
  "sellerUrl": "https://clasipar.paraguay.com/empresa/d-y-g-motors-srl-7688",
  "attributes": { "Marca": "Toyota" },
  "photos": ["https://clasicdn.paraguay.com/pictures/2024/09/19/2482099/10391102F.webp"],
  "phones": ["+595981670933"],
  "whatsappNumbers": ["+595981670933"],
  "publishedAt": "2026-10-23",
  "scrapedAt": "2026-10-26T19:40:08.869Z"
}
```

### ⚙️ Input

| Section | What it's for |
| --- | --- |
| **Maximum results** | Always first, caps the whole run. Empty means no limit. |
| **What to scrape** | Categories, search words and listing details (description, seller phones, WhatsApp, email). |
| **Filters** | Cities, listing type, attribute values, minimum price (Gs) and maximum price (Gs). |
| **Monitoring** | Only new listings and monitor name. |
| **Links** | Links instead of the fields above. Filters are ignored with links. |

#### Input examples

**Every real estate agency contact for houses and apartments in Asunción and Luque:**

```json
{
  "categories": ["inmuebles/casas", "inmuebles/departamentos"],
  "cities": ["Asunción", "Luque"],
  "includeDetails": true
}
```

**Toyota and Kia cars for sale between 50 and 150 million guaraníes:**

```json
{
  "categories": ["motor/autos"],
  "attributes": ["Toyota", "Kia"],
  "intent": "sell",
  "minPrice": 50000000,
  "maxPrice": 150000000
}
```

**Furnished apartments for rent in Asunción with a pool:**

```json
{
  "categories": ["inmuebles/departamentos"],
  "cities": ["Asunción"],
  "intent": "rentOut",
  "attributes": ["Amoblado: SI", "Piscina: SI"]
}
```

**Every listing that mentions "aire acondicionado" in services, with the seller's phone:**

```json
{
  "categories": ["servicios"],
  "search": "aire acondicionado",
  "includeDetails": true
}
```

**New listings every day (schedule this run):**

```json
{
  "categories": ["motor/autos"],
  "onlyNew": true,
  "monitorName": "daily-cars"
}
```

**Links (filters are not used):**

```json
{
  "startUrls": [
    { "url": "https://clasipar.paraguay.com/motor/autos/!toyota-96" },
    { "url": "https://clasipar.paraguay.com/empresa/cienpar-automotores-605722" },
    { "url": "https://clasipar.paraguay.com/motor/autos/suzuki-baleno-2018-unico-dueno-2969048" }
  ],
  "includeDetails": true
}
```

### 🔗 Related scrapers

> - [Haraj Scraper](https://apify.com/normdata/haraj-scraper): Saudi Arabia Classifieds (حراج).
> - [ikman.lk Scraper](https://apify.com/normdata/ikman-scraper): Sri Lanka Ads: Cars, Property, Phones.
> - [Tap.az Scraper](https://apify.com/normdata/tap-az-scraper): Azerbaijan Classifieds.
> - [Kleinanzeigen Scraper](https://apify.com/normdata/kleinanzeigen-scraper)

### ❓ FAQ and troubleshooting

#### Is there a Clasipar API? Do I need an API key?

> Clasipar has no public data API for this. This Actor works as a Clasipar API alternative: it reads the public pages and gives you clean JSON, CSV or Excel, with no API key, no login and no code to maintain. You can also call it from your own code with the Apify API, or from an AI agent through MCP.

#### Why do I get only 10 listings?

> On the Apify free plan each run saves up to 10 results, so you can try it before paying. Any paid plan removes the limit.

#### How many listings are there?

> Well over 100,000 as of October 2026, about a third of them cars and real estate.

#### Are prices in guaraníes or dollars?

> Each listing is in the seller's currency (`price` and `currency`); `priceText` is the price exactly as shown.

#### Where do the phones and emails come from?

> From the site's own "Mostrar email y teléfono" button on each listing, which anyone can click without an account.

#### An attribute value was skipped

> Attribute values come from each category's own filter list, in Spanish as the site writes them ("Toyota", "Diesel", "Automática"). Pick a category for them to work. A SI/No value needs its group, like "Piscina: SI". The log says which values a category does not have.

#### The price range leaves out some listings

> Listings with no price ("Consultar precio") have no price to compare, so any price range leaves them out. US$ listings are compared by the site in guaraníes at its own fixed rate.

#### Is this an official Clasipar tool?

> No. It is independent and not affiliated with Clasipar. It reads only data Clasipar publishes on its public pages, at a moderate pace. Use the data in line with Clasipar's terms and the laws that apply to you.

### 📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

# Actor input Schema

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

Stop after this many listings in total. Leave empty for no limit. The Apify Free plan is always capped at 10.

## `categories` (type: `array`):

Only these categories ("(all)" = the whole category with its subcategories). Empty = the whole site.

## `search` (type: `string`):

Only listings with these words, like "toyota hilux" or "departamento amoblado" (the site's own search, in Spanish).

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

Also read each listing page and the seller's contact: full description, attributes (brand, year, rooms...), department, zone, map point, views, publish date, expired flag and every photo, plus every phone, WhatsApp number and email the seller shows. Charged per listing as an add-on.

## `cities` (type: `array`):

Only listings in these cities. Empty = the whole country.

## `intent` (type: `string`):

Empty = any.

## `attributes` (type: `array`):

Values from the category's own filter list, in Spanish as the site writes them: "Toyota", "Diesel", "Automática", "2018". For a SI/No value, add its group: "Piscina: SI". Values of one group match any (Toyota or Kia); different groups must all match (Toyota and Diesel). Pick a category for these to work.

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

In guaraníes. Listings priced in US$ are compared by the site at its own rate.

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

In guaraníes. A price range leaves out listings with no price ("Consultar precio").

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

Skip listings saved by earlier runs with the same monitor name.

## `monitorName` (type: `string`):

Runs with the same name share their history. Use a different name for each schedule.

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

Listing pages (https://clasipar.paraguay.com/motor/autos/suzuki-baleno-2018-unico-dueno-2969048), results pages with the site's filters set (https://clasipar.paraguay.com/motor/autos/!toyota-96) or a seller's page with all their listings (https://clasipar.paraguay.com/empresa/cienpar-automotores-605722). A results page link gives at most 10,000 listings (the site's limit); the filters above get them all.

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("normdata/clasipar-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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("normdata/clasipar-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 '{
  "maxItems": 10
}' |
apify call normdata/clasipar-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,normdata/clasipar-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/yEmGBCCCS1rsib7MF/builds/m2Vo4yFkkPcgjDMFc/openapi.json
