# Bilbasen Cars Search Scraper (`ecomscrape/bilbasen-cars-search-scraper`) Actor

Automate car listing data extraction from Bilbasen.dk, Denmark's leading automotive marketplace. Collect detailed vehicle information including prices, specifications, features, and seller details for market analysis, price comparison, and inventory research.

- **URL**: https://apify.com/ecomscrape/bilbasen-cars-search-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Bilbasen.dk Cars Scraper: Extract Danish Vehicle Listings for Automotive Market Research

### Introduction

Bilbasen.dk stands as Denmark's largest and most trusted online automotive marketplace, connecting buyers and sellers of vehicles across the country. With hundreds of thousands of listings ranging from used cars to new vehicles, motorcycles, and commercial vehicles, Bilbasen serves as the primary platform for automotive transactions in Denmark.

For automotive dealers, market researchers, price comparison services, and industry analysts, accessing structured vehicle data from Bilbasen is essential for competitive pricing, inventory analysis, and market trend identification. However, manually collecting vehicle specifications, pricing data, and seller information across thousands of listings is impractical and time-consuming.

The Bilbasen.dk Cars Scraper automates this data extraction process, enabling systematic collection of vehicle listings with complete specifications, pricing, features, and multimedia content. Whether you're monitoring competitor inventory, analyzing market prices for specific models, or researching vehicle availability trends, this scraper provides the efficiency needed for comprehensive automotive data collection.

### Scraper Overview

The Bilbasen.dk Cars Scraper is a specialized automotive data extraction tool designed to collect detailed vehicle listings from Denmark's premier car marketplace. This scraper navigates through search results and extracts comprehensive vehicle profiles including specifications, pricing, features, location data, and seller information.

Key advantages include flexible search configuration supporting keyword searches and custom sorting options, residential proxy support for reliable access, configurable retry mechanisms for stable data collection, and pagination controls for managing large datasets. The scraper is particularly valuable for automotive dealers monitoring competition, market analysts tracking pricing trends, vehicle importers researching Danish market inventory, and automotive data services requiring structured vehicle information.

The tool handles various search parameters including free-text keyword searches, multiple sorting criteria (price, mileage, year, date listed), and page-based pagination. It maintains data accuracy while implementing ethical scraping practices and respecting platform guidelines.

### Input and Output Details

Example url 1: https://www.bilbasen.dk/brugt/bil?free=suv\&includeengroscvr=true\&includeleasing=false\&sortby=firstregistrationdate\&sortorder=desc

Example url 2: https://www.bilbasen.dk/brugt/bil?includeengroscvr=true\&includeleasing=false

Example url 3: https://www.bilbasen.dk/brugt/bil?free=civic\&includeengroscvr=true\&includeleasing=false\&page=2

Example Screenshot of automotive list by query page:

![](https://i.ibb.co/2Y1P9Zy4/Screenshot-from-2026-01-09-17-02-17.png)

#### Input Format

The scraper accepts JSON configuration allowing precise control over vehicle data extraction from Bilbasen.dk.

##### Scrape with URLs:

```json
{
  "proxy": {
    "useApifyProxy": false
  },
  "ignore_url_failures": true,
  "max_retries_per_url": 2,
  "max_items_per_url": 20,
  "urls": [
    "https://www.bilbasen.dk/brugt/bil?free=suv&includeengroscvr=true&includeleasing=false&sortby=price&sortorder=desc",
    "https://www.bilbasen.dk/brugt/bil?fuel=1&includeengroscvr=true&sortby=year&sortorder=desc",
    "https://www.bilbasen.dk/brugt/bil?free=civic&includeengroscvr=true&includeleasing=false&page=2"
  ]
}
```

**The `urls` parameter**: Add URLs of car search result pages from Bilbasen.dk. Construct searches on the website using filters for vehicle type, fuel type, price range, or other criteria, then copy the resulting URL. You can paste URLs individually or use bulk edit for prepared lists.

**The `ignore_url_failures` parameter**: When `true`, the scraper continues running even if some URLs fail after maximum retries. Ensures comprehensive data collection isn't stopped by individual problematic URLs.

*When providing URLs, all "Scrape with search filters" options are disabled. The system only collects data from specified URLs.*

##### Scrape with Search Filters:

```json
{
  "keyword": "Volkswagen Golf",
  "sort_by": "price-asc",
  "page": 1,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "DK"
  }
}
```

**The `keyword` parameter**: Enter search terms to find vehicles (e.g., "Volkswagen Golf", "SUV", "Tesla", "diesel"). Supports brand names, model names, vehicle types, or fuel types.

**The `sort_by` parameter**: Control result ordering with extensive sorting options:

- **Price**: `"price-asc"`, `"price-desc"`
- **Date listed**: `"date-asc"`, `"date-desc"`
- **Year**: `"year-asc"`, `"year-desc"`
- **Mileage**: `"mileage-asc"`, `"mileage-desc"`
- **Distance from location**: `"distance-asc"`, `"distance-desc"`
- **Electric range**: `"electricmotorrange-asc"`, `"electricmotorrange-desc"`
- **Battery capacity**: `"batterycapacity-asc"`, `"batterycapacity-desc"`
- **First registration**: `"firstregistrationdate-asc"`, `"firstregistrationdate-desc"`
- **Make**: `"make-asc"`, `"make-desc"`
- And more specialized sorting options

**The `page` parameter**: Specify starting page number for result pagination. Useful for resuming interrupted scrapes or targeting specific result ranges.

*When using search filters, leave the `urls` field empty.*

##### General Options:

**The `max_items_per_url` parameter**: Limits items collected per URL or search. Default is 20 vehicles, balancing thoroughness with efficiency.

**The `max_retries_per_url` parameter**: Maximum retry attempts for failed requests. Default is 2, providing resilience against temporary network issues or rate limiting.

**The `proxy` parameter**: Essential for avoiding detection and maintaining access. For Bilbasen.dk, Danish proxies (`"DK"`) provide optimal results, though residential proxies from neighboring countries work well too.

#### Output Format

The scraper returns structured vehicle data with fields serving specific purposes for automotive market analysis:

- **External ID**: Unique listing identifier in Bilbasen's system. *Critical for tracking listings over time, detecting price changes, and managing datasets without duplicates.*

- **URI**: Direct link to vehicle listing page. *Essential for manual verification, accessing additional details, and sharing specific listings with team members.*

- **Media**: Array of vehicle images and potentially video URLs. *Valuable for visual inspection, creating enriched listings, and assessing vehicle condition remotely.*

- **Price**: Listed vehicle price in Danish Kroner (DKK). *Primary data point for price analysis, market valuation, competitive pricing strategies, and trend identification.*

- **Make**: Vehicle manufacturer/brand. *Fundamental for brand-specific analysis, inventory segmentation, and market share research.*

- **Model**: Specific vehicle model name. *Enables model-level price comparison, popularity tracking, and targeted inventory research.*

- **Variant**: Trim level or variant designation. *Important for accurate price comparisons as variants significantly affect value, useful for detailed specification analysis.*

- **Doors**: Number of vehicle doors. *Body style indicator useful for categorization and buyer preference analysis.*

- **Description**: Seller's vehicle description text. *Provides condition details, special features, service history, and unique selling points not captured in structured fields.*

- **Location**: Geographic location of the vehicle/seller. *Critical for logistics planning, regional market analysis, and buyer proximity calculations.*

- **Details**: Structured technical specifications (engine size, transmission, fuel type, registration date, mileage, etc.). *Comprehensive technical data essential for accurate vehicle assessment and comparison.*

- **Features**: List of vehicle equipment and features (navigation, leather seats, parking sensors, etc.). *Important for value assessment, feature popularity analysis, and buyer matching.*

- **Is Favorite**: Indicator if listing is marked as favorite. *May indicate popular or high-demand vehicles when aggregated across users.*

- **Seller Type**: Classification of seller (dealer, private, importer). *Crucial for understanding market composition, pricing patterns by seller type, and sourcing strategies.*

- **Sale Type**: Type of sale (standard sale, leasing, dealer stock). *Important for filtering relevant listings and understanding sale structure.*

- **Properties**: Additional structured attributes specific to the listing. *Captures supplementary data like warranty information, import status, or special conditions.*

Each field supports specific use cases in automotive market intelligence, competitive analysis, pricing research, and inventory management.

##### Example Output:

```json
[
  {
  "external_id": 6687153,
  "uri": "https://www.bilbasen.dk/brugt/bil/mercedes/g63/40-amg-aut-5d/6687153",
  "media": [
    {
      "media_type": "Picture",
      "url": "https://billeder.bilbasen.dk/bilinfo/a2a51d80-20ea-41ac-a1e6-7bceb771f957.jpeg?class=S640X640"
    }
  ],
  "price": {
    "price": 4170904,
    "display_price": "4.170.904 kr",
    "unit": "kr",
    "price_type": "Retail"
  },
  "make": "Mercedes",
  "model": "G63",
  "variant": "4,0 AMG aut. 5d",
  "doors": 5,
  "description": "FABRIKSNY BIL\n\nHIGHLIGHTS:\n• 9G AMG Speedshift aut. gear\n• 3x differentiale lås - selvom kun 1 dæk har greb, trækker bilen sig fremad\n• Indium grey metallic\n• Sort eksklusiv Nappalæder \n• Aktiv multikontur sædepakke PLUS\n• Manufaktur sikkerhedsseler i rød\n• 22\" AMG letmetalfælge\n• AMG bremsekalibre i rød\n• AMG Night pakke m. sorte emblemer\n• Komfort pakke m. keyless entry (for første gang på G klassen)\n• Trinbræt i aluminium\n• Burmester surround system\n• Soltag m. skyde/vippefunktion\n• Multikontur forsæder m. varme & køl\n• Kopholder m. varme & køl\n• Anhængertræk\n• Multibeam LED\n• Adaptivt fjernlys & aktivt kurvelys\n• MBUX 'Augmented Reality' + Offroad Cockpit\n• DISTRONIC adaptiv fartpilot m. rutebaseret farttilpasning\n• 360° kamera inkl. bakkamera\n• Blind spot assist\n• Aktiv vejbaneassistent\n• Smartphone integration - Apple Carplay & Android Auto\n\nØVRIGT UDSTYR:\nSædekomfort pakke inkl. lændestøtte, Interiør lyspakke, Memorypakke, Teknik pakke, Opbevaringspakke, Parkeringspakke, Spejlpakke, Ratgearskifte, Dashcam, Interiørlister i højglans lysebrun sentræ, Regnsensor, Widescreen cockpit, Bluetooth, Navigation, Aut. nedbl. spejle, Aktivt kurvelys, Mercedes me, Ambiente belysning, Varmeisolerende mørktonede bagruder, Færdselstavleassistent, Live traffic information, El. sammenklap. sidespejle, THERMATIC 2 zone klima, LED forlygter, Dynamic select, ISOFIX, ECO start/stop, Multifunktionsrat, Mørktonede bagruder, Stor tank [100L], Dynamic select, Fjernb. c.lås, Kørecomputer, Infocenter, Startspærre, Udv. temp. måler, Højdejust. forsæde, El indst. forsæder, 4x el-ruder, Armlæn, Benzin partikel filter\n\nDer tages forbehold for fejl og mangler i priser og beskrivelser\n\nSe vores brugte biler på https://www.bent-pedersen.dk/",
  "location": {
    "lat": 55.48048,
    "lon": 8.495869,
    "zip_code": 6705,
    "city": "Esbjerg Ø",
    "region": "Syd- og Sønderjylland"
  },
  "details": [
    {
      "display_text": "0 km"
    },
    {
      "display_text": "6,8 km/l"
    },
    {
      "display_text": "Automatisk gear"
    },
    {
      "display_text": "Benzin"
    }
  ],
  "features": [],
  "is_favorite": false,
  "seller_type": "Forhandler",
  "sale_type": "Detailsalg",
  "properties": {
    "mileage": {
      "display_text_long": "0 km",
      "display_text_short": "0 km"
    },
    "kml": {
      "display_text_long": "6,8 km/l",
      "display_text_short": "6,8 km/l"
    },
    "hk": {
      "display_text_long": "585 hk",
      "display_text_short": "585 hk"
    },
    "trailer": {
      "display_text_long": "3.500 kg trækvægt",
      "display_text_short": "3.500 kg"
    },
    "kmt": {
      "display_text_long": "Accel. 4,4 sek",
      "display_text_short": "4,4 sek"
    },
    "geartype": {
      "display_text_long": "Automatisk gear",
      "display_text_short": "Automatisk gear"
    },
    "fueltype": {
      "display_text_long": "Benzin",
      "display_text_short": "Benzin"
    }
  },
  "from_url": "https://www.bilbasen.dk/brugt/bil?free=suv&sortby=price&sortorder=desc&page=1"
}
]
```

### Usage Guide

#### Option 1: Scraping with URLs

Navigate to Bilbasen.dk and construct your desired search using the website's filter system. Apply filters for vehicle type, brand, price range, location, fuel type, or any other criteria. Copy the resulting URL from your browser's address bar into the `urls` array.

**Best practices:**

- Test individual URLs before batch processing to verify they return expected results
- Use specific filters on Bilbasen.dk before copying URLs for targeted data extraction
- Monitor extraction progress, especially when processing multiple high-volume search URLs
- Keep URLs updated as Bilbasen may modify their URL structure over time

**Common troubleshooting:**

- Verify URLs include all necessary parameters (don't truncate long URLs)
- Check that URLs point to search result pages, not individual vehicle pages
- Adjust proxy settings if encountering access issues
- Reduce retry counts if experiencing consistent timeouts

#### Option 2: Scraping with Search Filters

##### Setting Up Vehicle Search Criteria

Use search filters for automated, flexible vehicle data collection without manually constructing URLs.

**Step 1: Define Search Keyword**

Enter relevant search terms in the `keyword` parameter:

- **Brand searches**: "Volkswagen", "BMW", "Tesla", "Toyota"
- **Model searches**: "Golf", "3-serie", "Model 3", "RAV4"
- **Vehicle type**: "SUV", "stationcar", "cabriolet", "kassevogn"
- **Fuel type**: "diesel", "benzin", "el", "hybrid"
- **Combined searches**: "Volkswagen Golf diesel", "Tesla Model 3"

**Step 2: Configure Sorting**

Select appropriate `sort_by` value based on your analysis needs:

**Price-based sorting:**

- `"price-asc"` - Lowest to highest (finding budget options)
- `"price-desc"` - Highest to lowest (luxury/premium segment analysis)

**Time-based sorting:**

- `"date-desc"` - Newest listings first (tracking new inventory)
- `"year-desc"` - Newest model years first (late-model vehicle research)
- `"firstregistrationdate-desc"` - Most recently registered vehicles

**Mileage-based sorting:**

- `"mileage-asc"` - Lowest mileage first (low-mileage vehicle sourcing)
- `"mileage-desc"` - Highest mileage first (value segment analysis)

**Electric vehicle specific:**

- `"electricmotorrange-desc"` - Longest range first (EV comparison)
- `"batterycapacity-desc"` - Largest battery capacity first

**Location-based:**

- `"distance-asc"` - Closest vehicles first (requires location context)

**Step 3: Set Pagination**

Use the `page` parameter for systematic result collection:

- Start with `1` for initial scraping
- Increment for subsequent batches (2, 3, 4...)
- Resume interrupted scrapes by setting to last completed page + 1
- Calculate total pages needed based on expected results and `max_items_per_url`

##### Best Practices for Filter-Based Scraping

**Keyword Strategy:**

- Start broad, then narrow: Begin with brand names, then add model specifics
- Use Danish terms when applicable: "stationcar" instead of "station wagon"
- Test keywords on Bilbasen.dk directly before scraping to validate results
- Avoid overly specific combinations that may return no results

**Sorting Selection:**

- **Market research**: Use `"date-desc"` to track new listings and market dynamics
- **Price analysis**: Use `"price-asc"` or `"price-desc"` for price range studies
- **Sourcing low-mileage vehicles**: Use `"mileage-asc"` with appropriate filters
- **EV research**: Use electric-specific sorting for focused analysis

**Pagination Planning:**

- Estimate total results for your search criteria
- Calculate pages needed: `total_results / max_items_per_url`
- Process in batches to manage data volume
- Track completed pages to avoid gaps or overlaps

**Progressive Refinement:**

1. Start with broad search to understand result volume
2. Refine keywords based on initial findings
3. Apply appropriate sorting for your specific use case
4. Process systematically page by page for comprehensive coverage

##### Data Validation and Quality Control

Post-extraction verification:

- Confirm all vehicles match search criteria (brand, model, type)
- Verify price data is complete and reasonable
- Check that essential fields (Make, Model, Price) are populated
- Validate location data matches expected Danish geography
- Ensure no duplicate listings appear within dataset
- Verify media URLs are accessible if using images

##### Common Issue Resolution

**Empty Results:**

- Verify keyword spelling (Danish characters: æ, ø, å)
- Try broader search terms
- Check if filters are too restrictive
- Test search on Bilbasen.dk website directly

**Incomplete Data:**

- Some listings may have limited information depending on seller
- Essential fields (Price, Make, Model) are usually complete
- Optional fields (Features, detailed Description) vary by listing quality

**Access Issues:**

- Enable Danish proxies for optimal access
- Adjust retry settings for temporary network issues
- Verify Bilbasen.dk accessibility from your location
- Check for potential rate limiting if processing large volumes

**Sorting Not Applied:**

- Verify `sort_by` value matches available options exactly
- Leave empty (`""`) for default sorting if needed
- Some sorting options may require specific search contexts

#### Proxy Configuration

**Danish Proxy Recommendation:**

- Set `"apifyProxyCountry": "DK"` for best results with Bilbasen.dk
- Residential proxies provide highest success rates
- Danish IP addresses avoid potential geographic restrictions

**Alternative Configurations:**

- Nordic countries (NO, SE) work well as fallbacks
- General European proxies acceptable for basic scraping
- Disable proxies for small-scale testing only

### Benefits and Applications

The Bilbasen.dk Cars Scraper transforms manual vehicle research into automated intelligence gathering, reducing days of manual work to hours of automated processing.

**Primary Applications:**

**Competitive Pricing Intelligence:** Dealers monitor competitor inventory and pricing in real-time, enabling dynamic pricing strategies and identifying market opportunities.

**Market Trend Analysis:** Analyze vehicle pricing trends over time, track model popularity, identify emerging preferences, and forecast market movements.

**Inventory Sourcing:** Find specific vehicles meeting criteria for dealership inventory, identify underpriced vehicles for resale opportunities, and monitor availability of rare or high-demand models.

**Price Comparison Services:** Build comprehensive price databases for consumer comparison tools, maintain accurate market valuations, and provide data-driven buying guidance.

**Automotive Market Research:** Assess market composition by brand, model, and vehicle type, analyze regional pricing variations, and track dealer vs. private sale dynamics.

**Import/Export Analysis:** Identify vehicles suitable for international trade, analyze Danish market pricing vs. other markets, and assess import vehicle availability.

**The scraper provides competitive advantages through:**

- Real-time access to Denmark's largest automotive marketplace
- Comprehensive vehicle data including specifications, features, and multimedia
- Flexible sorting and filtering for targeted intelligence gathering
- Scalable processing supporting both focused searches and market-wide analysis
- Structured output ready for CRM systems, pricing tools, and analytics platforms

### Conclusion

The Bilbasen.dk Cars Scraper streamlines automotive data collection from Denmark's premier vehicle marketplace. By automating extraction of vehicle listings, specifications, pricing, and seller information, it empowers dealers, analysts, and automotive professionals to make data-driven decisions based on comprehensive market intelligence.

Whether monitoring competitor inventory, analyzing pricing trends, sourcing specific vehicles, or conducting broad market research, this scraper provides systematic data access that would be impractical to gather manually.

Start leveraging Bilbasen.dk's extensive vehicle inventory data today for smarter automotive business decisions.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about bilbasen.com Property Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

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

Add the URLs of the Cars list page 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 after the maximum number of retries is reached.

## `keyword` (type: `string`):

Enter the keyword to search for items

## `sort_by` (type: `string`):

Filter items by (e.g., best_deal_desc_script, price_asc, price_desc, distance_asc_script, mileage_asc, mileage_desc, year_asc, year_desc, created_date_desc)

## `page` (type: `integer`):

Specify the page number to start scraping from

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

Limit the number of items per URL or search filters you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL or search filters if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.bilbasen.dk/brugt/bil?free=suv&includeengroscvr=true&includeleasing=false&sortby=price&sortorder=desc"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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.bilbasen.dk/brugt/bil?free=suv&includeengroscvr=true&includeleasing=false&sortby=price&sortorder=desc"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/bilbasen-cars-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.bilbasen.dk/brugt/bil?free=suv&includeengroscvr=true&includeleasing=false&sortby=price&sortorder=desc"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/bilbasen-cars-search-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 '{
  "urls": [
    "https://www.bilbasen.dk/brugt/bil?free=suv&includeengroscvr=true&includeleasing=false&sortby=price&sortorder=desc"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/bilbasen-cars-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/bilbasen-cars-search-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/nGxDgeXgUD0BnFN6u/builds/4s3H3V5tgHLvLxBco/openapi.json
