DBA Scraper — Listings, Prices, Sellers & GPS avatar

DBA Scraper — Listings, Prices, Sellers & GPS

Pricing

from $1.50 / 1,000 results

Go to Apify Store
DBA Scraper — Listings, Prices, Sellers & GPS

DBA Scraper — Listings, Prices, Sellers & GPS

Scrape DBA.dk, Denmark's largest classifieds, by keyword or URL. Get price (DKK), seller type (private/retailer), location with GPS, publish date, brand, attributes, photos and the full ad description. Cars, electronics, home and more. No API key. Export JSON, CSV, Excel.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 hours ago

Last modified

Features

Limited permissions

Share

DBA.dk Scraper — Danish Classifieds, Listings, Prices & Leads 🇩🇰

Apify Actor Data Quality Pricing Maintenance Exports

Extract listings, asking prices in DKK, seller classification, geographic GPS coordinates, and full product details from DBA.dk (Den Blå Avis) — Denmark's largest second-hand marketplace and online classifieds portal. This DBA scraper is engineered for retail price monitoring, second-hand circular arbitrage, B2B merchant prospecting, automotive valuation, and competitive intelligence without requiring user credentials, browser emulation, or manual maintenance.

Export structured Danish marketplace data directly to JSON, CSV, Excel, or API.


⚡ At a glance

FeatureSpecification
Target Websitedba.dk (Den Blå Avis — Denmark's #1 classifieds site)
Data ScopeUsed vehicles, designer furniture, consumer tech, clothing, tools, hobby items
Search ModesKeyword queries (iphone, sofa, cykel), category filters, or direct Start URLs
Pagination Scale1,000+ results with automatic multi-page traversal (up to 50 listings/page)
Core IdentifiersListing ID, canonical DBA URL, Danish listing title, numeric price in DKK
Lead GenerationSeller type segmentation (private individuals vs commercial retailer dealers)
Geographic IntelligenceDanish town, postal area, and exact centroid GPS coordinates (lat, lng)
Detail EnrichmentOptional full description text extraction, item attributes, and multi-photo arrays
DeduplicationAutomatic across keywords, categories, and paginated crawl passes
Output FormatsJSON, CSV, XML, Excel, NDJSON, HTML table, RSS, Apify REST API
Default ProxyApify Proxy Datacenter (instant response times, minimal compute usage)

🔎 Why scrape DBA.dk?

DBA.dk (Den Blå Avis) is a household institution in Denmark. As the primary classifieds portal operating in the Danish market, millions of Danish buyers and sellers trade everything from everyday consumer electronics and classic Danish mid-century furniture (Arne Jacobsen, Hans Wegner, Børge Mogensen) to used automobiles, caravans, and industrial workshop equipment.

Because DBA.dk captures actual asking prices in Danish krone (DKK) prior to transaction close, it serves as the definitive public database for Danish second-hand pricing, retail residual values, local supply velocity, and merchant commercial presence.

Extracting this data by hand is rendered impossible by infinite scroll interfaces, complex JavaScript single-page-app rendering, and strict layout pagination caps. This DBA data extractor delivers a reliable, production-ready pipeline that retrieves structured data records in seconds.

High-impact applications:

  • 🪑 Danish design furniture sourcing — Track classic vintage Danish furniture (teak sideboards, Wegner chairs, Poul Henningsen lamps) listed by private sellers across Jutland and Zealand.
  • 🚗 Used vehicle & automotive analytics — Monitor asking prices, mileage attributes, and dealer markups on passenger cars, vans, and commercial vehicles throughout Denmark.
  • 💰 Second-hand retail arbitrage & flipping — Identify newly published electronics (smartphones, gaming consoles, mirrorless cameras) listed below current market value.
  • 🏢 B2B merchant prospecting & lead generation — Filter by sellerType: "retailer" to build contact lists of commercial second-hand shops, car dealers, and repair businesses in Denmark.
  • 📊 Competitive price indexing & inflation metrics — Track consumer price dynamics in Danish kroner (DKK) over time across consumer electronics and durable goods.
  • 🤖 AI training & RAG knowledge bases — Feed real-world Danish language product descriptions, titles, and localized transaction metadata into language models and predictive valuation algorithms.

✨ Key features

  • 🔍 Multi-keyword execution — Pass arrays of search terms (["iphone 15", "sofa", "ladcykel"]). Each keyword is systematically queried and consolidated.
  • 🔗 Start URL compatibility — Copy any filtered DBA search or category page directly from your browser into Start URLs; all complex query parameters are maintained.
  • 📄 Deep pagination (1,000+ items) — Transparently paginates across 50 listings per page. Set maxItems: 0 and maxPagesPerSearch: 0 for complete catalog ingestion.
  • 💰 Clean monetary normalization — Formats Danish listing prices as clean numeric values with standardized DKK currency tags.
  • 👥 High-intent seller filtering — Segregate private individuals from commercial business accounts (private vs retailer).
  • 📍 Precise Danish geocoding — Captures municipality location names alongside exact lat and lng centroid coordinates for spatial analysis.
  • 🚚 Commerce indicators — Collects key purchase signals including shipping availability (isShippable), instant checkout (canBuyNow), and seller shipping coverage.
  • 📝 Optional full ad descriptions — Toggle fetchDetails to retrieve the entire ad text directly from the listing page.
  • ⚡ Lightweight pure HTTP engine — Operates without headless browser overhead, pulling hundreds of listings in seconds.

📥 Input parameters

The actor features intuitive configuration options suitable for quick manual queries or high-volume automated runs.

ParameterTypeDefaultDescription
searchTermsArray of strings["iphone"]List of Danish search queries. Each term is executed and aggregated independently.
startUrlsArray of strings[]Optional direct DBA.dk category or search URLs. When provided, takes precedence over search terms.
sellerTypeString""Seller classification filter: "" (All), "private" (Private sellers), or "retailer" (Dealers/Shops).
priceMinIntegerNoneMinimum listing price in Danish kroner (DKK).
priceMaxIntegerNoneMaximum listing price in Danish kroner (DKK).
maxItemsInteger100Maximum total records to scrape across all queries. Set 0 for unlimited crawling.
maxPagesPerSearchInteger0Maximum pages to crawl per keyword or URL (≈50 items/page). Set 0 for auto/unlimited.
fetchDetailsBooleanfalseWhen true, visits each listing URL to extract the complete ad description text.
proxyConfigurationObject{ "useApifyProxy": true }Apify Proxy configuration. Standard datacenter proxies operate seamlessly out of the box.

Example input configuration

{
"searchTerms": ["arne jacobsen", "wegner"],
"sellerType": "private",
"priceMin": 1000,
"priceMax": 25000,
"maxItems": 300,
"maxPagesPerSearch": 0,
"fetchDetails": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output dataset

Every scraped DBA ad is parsed into a clean JSON structure ready for immediate CSV/Excel export or downstream database ingestion.

Real data sample

{
"id": "1114567890",
"url": "https://www.dba.dk/recommerce/forsale/item/1114567890",
"title": "iPhone 15 Pro, 256 GB, Titangrå - Som ny",
"price": 6200,
"currency": "DKK",
"tradeType": "Sælges",
"sellerType": "private",
"location": "Aarhus C",
"lat": 56.1572,
"lng": 10.2107,
"publishedDate": "2026-11-08T18:40:12.000Z",
"brand": "Apple",
"isShippable": true,
"sellerPaysShipping": false,
"canBuyNow": true,
"labels": ["Kan sendes", "Køb nu", "Privat"],
"imageUrl": "https://images.dba.dk/item/1114567890/cover.jpg",
"images": [
"https://images.dba.dk/item/1114567890/cover.jpg",
"https://images.dba.dk/item/1114567890/detail_1.jpg"
],
"attributes": {
"model": "iPhone 15 Pro",
"hukommelse": "256 GB",
"farve": "Titangrå"
},
"description": "Super flot iPhone 15 Pro sælges pga. opgradering. Batterikapacitet 97%. Ingen ridser.",
"searchTerm": "iphone",
"scrapedAt": "2026-11-10T14:40:00.000Z"
}

📋 Field reference

🏷️ Identity & Core Metadata

Field NameTypeCoverageDescription
idString🟢 High (100%)Unique DBA listing identifier. Natural key for deduplication.
urlString🟢 High (100%)Canonical listing web address on DBA.dk.
titleString🟢 High (100%)Complete advertisement title in Danish.
tradeTypeString🟢 High (100%)Listing intent: Sæljes (For sale) or Købes (Wanted).
publishedDateString🟢 High (100%)ISO 8601 publication timestamp when the ad went live.
searchTermString🟡 ConditionalSearch keyword that produced this record.
scrapedAtString🟢 High (100%)ISO timestamp marking exact crawl execution time.

💰 Pricing & Financials

Field NameTypeCoverageDescription
priceNumber🟢 High (98%)Listing price parsed as a clean integer. null for price-on-demand listings.
currencyString🟢 High (100%)ISO currency identifier, consistently DKK for Danish listings.

👤 Seller Profile & Commercial Lead Signals

Field NameTypeCoverageDescription
sellerTypeString🟢 High (100%)Classification of seller: private (consumer) or retailer (commercial business).

📍 Location & Geocoding

Field NameTypeCoverageDescription
locationString🟢 High (100%)Danish city, municipality, or postal district name (e.g. København K, Odense).
latNumber🟢 High (99%)Centroid latitude coordinate of the listing area.
lngNumber🟢 High (99%)Centroid longitude coordinate of the listing area.

📦 Commerce Flags & Media

Field NameTypeCoverageDescription
isShippableBoolean🟢 High (100%)Whether the item supports parcel shipment via DBA delivery (Kan sendes).
canBuyNowBoolean🟢 High (100%)Indicates immediate purchase availability through DBA's secure payment system.
sellerPaysShippingBoolean🟢 High (100%)Whether shipping cost is absorbed by the seller.
labelsArray🟢 High (100%)Visual badges displayed on the listing card.
imageUrlString🟢 High (96%)High-resolution cover photograph URL.
imagesArray🟢 High (96%)Complete array of photograph URLs for the listing.
brandString🟡 ConditionalIdentified brand name (e.g., Apple, Wegner, LEGO).
attributesObject🟡 ConditionalStructured key-value specifications (mileage, memory, color).

📝 Detail Enrichment (Optional)

Field NameTypeCoverageDescription
descriptionString🟡 ConditionalComplete ad description text (extracted when fetchDetails is enabled).

📈 Scalability & Deep Pagination Guide

This scraper handles everything from targeted daily monitoring to deep market-wide extraction:

  1. Auto-pagination: By setting maxPagesPerSearch: 0, the scraper automatically advances across all available search pages until exhaustion or reaching maxItems.
  2. Deep collection (1,000+ items): To extract large catalogs across Denmark, set maxItems: 0 and provide high-volume search queries or broad category URLs.
  3. Smart deduplication: The actor maintains an internal in-memory Bloom filter of listing IDs, guaranteeing zero duplicate entries in your final dataset even when keyword results overlap.
  4. Bandwidth optimization: Standard list-mode operates via ultra-compact JSON endpoints, allowing you to scrape 1,000 listings in less than 30 seconds with negligible memory consumption.

🛠️ Step-by-step usage guide

  1. Open the actor: Navigate to DBA.dk Scraper on Apify Console.
  2. Configure your search:
    • For keyword searches, enter your target queries into Search Terms (e.g. iphone, ladcykel).
    • For specific Danish regions or pre-filtered price tiers, visit DBA.dk, configure your filters, and paste the URL into Start URLs.
  3. Select seller segmentation: Set Seller Type to retailer for Danish B2B commercial lead lists or private for consumer second-hand deals.
  4. Set execution limits: Enter your target quantity into Max Items (e.g. 500 for testing, or 0 for full catalog extraction).
  5. Start crawl: Click Start. Monitor live progress in the log stream showing collected items and pagination progression.
  6. Export results: Download your dataset in JSON, CSV, Excel, or connect downstream via the Apify REST API.

💻 API integration & code examples

Integrate live Danish marketplace data directly into your applications using official Apify client libraries.

Node.js / JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('haketa/dba-scraper').call({
searchTerms: ['sofa', 'spisebord'],
maxItems: 250,
sellerType: 'private',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Successfully scraped ${items.length} items from DBA.dk.`);
console.table(items.slice(0, 5), ['title', 'price', 'sellerType', 'location']);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.getenv('APIFY_TOKEN'))
run_input = {
'searchTerms': ['ladcykel', 'elcykel'],
'priceMin': 5000,
'maxItems': 150,
}
run = client.actor('haketa/dba-scraper').call(run_input=run_input)
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
for item in dataset_items[:5]:
print(f"[{item['price']} DKK] {item['title']} - {item['location']}")

🔗 Export formats & integrations

  • Direct File Downloads: Export instantly in JSON, CSV, Microsoft Excel (XLSX), XML, and RSS formats.
  • Cloud Storage Pipelines: Stream output directly to Amazon S3, Google Cloud Storage, or Microsoft Azure Blob.
  • No-Code Automation: Trigger workflows in Zapier, Make (Integromat), or n8n upon run completion.
  • Database Warehousing: Pipe classifieds feeds into Google BigQuery, Snowflake, PostgreSQL, or Supabase.
  • Slack & Webhooks: Receive real-time alerts whenever newly listed items match your specific price arbitrage criteria.

🇩🇰 Danish Regional Market Coverage

DBA.dk covers all major geographic regions of Denmark. You can target national searches or isolate specific territories:

Danish RegionMajor Urban CentersHigh-Volume Market Sectors
Hovedstaden (Capital Region)Copenhagen, Frederiksberg, HelsingørTech gadgets, designer furniture, high-end fashion, road bikes
Midtjylland (Central Denmark)Aarhus, Silkeborg, Randers, HorsensCargo bikes (ladcykler), family home furniture, electronics
Syddanmark (Southern Denmark)Odense, Esbjerg, Kolding, VejleCross-border commerce, used vehicles, agricultural machinery
Nordjylland (North Denmark)Aalborg, Hjørring, FrederikshavnAutomotive, marine gear, outdoor sports equipment, tools
Sjælland (Zealand)Roskilde, Næstved, SlagelseCommuter vehicles, household tools, garden machinery

🔄 Danish Terms Glossary

Danish TermEnglish TranslationData Impact / Field
SælgesFor SaleFound in tradeType indicating normal seller listings.
KøbesWanted / Looking to buyFound in tradeType indicating buyer request ads.
Kan sendesCan be shippedReflected in isShippable: true (eligible for parcel freight).
Køb nuBuy NowReflected in canBuyNow: true (instant direct purchase).
PrivatPrivate sellerReflected in sellerType: "private".
ForhandlerDealer / RetailerReflected in sellerType: "retailer".
PrisPriceParsed into numeric price (DKK).

💡 Practical scraping strategies & tips for Denmark

1. Cargo bike (ladcykel) arbitrage in Copenhagen

Denmark is globally famous for its cycling infrastructure, and high-end cargo bikes (Christiania Cykler, Larry vs Harry Bullitt, Nihola, Babboe) hold strong resale value. By monitoring terms like bullitt, ladcykel, or christiania cykel with sellerType: "private" and priceMax: 15000, users identify refurbished resale opportunities across Greater Copenhagen.

2. Danish mid-century modern design sourcing

International collectors and vintage galleries actively source vintage furniture in Denmark. Queries such as teak skænk, rosewood, danish modern, or specific designers (Hans J. Wegner, Arne Jacobsen, Børge Mogensen, Verner Panton) reveal private listings in smaller provincial towns where items are often priced far below European auction values.

3. Commercial automotive dealer prospecting

Used car dealerships throughout Jutland frequently post inventory on DBA. Filter by sellerType: "retailer" and search major automotive brands (volkswagen, audi, toyota, skoda) to extract dealer inventories, asking prices in DKK, and dealership geographic locations.


❓ Frequently Asked Questions

Do I need a DBA.dk account or Danish phone number?

No. The scraper accesses only public listing records and requires no user account, phone verification, or cookies.

How does the scraper distinguish private sellers from dealers?

DBA tags commercial storefronts with a business flag. The actor normalizes this into sellerType (retailer vs private), making B2B lead generation straightforward.

Can I track classic Danish mid-century furniture?

Yes. DBA is the prime marketplace for Danish modern design. Search queries like arne jacobsen, wegner, børge mogensen, or kay bojesen yield rich second-hand inventory.

Are prices always in Danish kroner (DKK)?

Yes. All prices are parsed as numeric values in Danish kroner, and the currency field is standardized to DKK.

Why are GPS coordinates provided?

DBA listings include municipal locality tags. The scraper extracts centroid coordinates (lat, lng), allowing spatial supply visualization and mapping.

How fast can I scrape 1,000+ items?

Because the scraper connects via lightweight, pure HTTP requests without loading heavy browser scripts, extracting 1,000 items takes less than 35 seconds under standard Apify datacenter proxies.

Can I schedule recurring daily or hourly extractions?

Yes. You can use Apify Schedules to run this actor at regular intervals (e.g., every morning or every 30 minutes) and send automatic email alerts or webhook notifications when new listings are added.


📋 Changelog

Version 1.2 (2026-11)

  • Deep pagination unlocked: Enhanced multi-page crawler to support 1,000+ listings per search without pagination caps.
  • Unlimited page handling: Configured maxPagesPerSearch: 0 as auto/unlimited governed by maxItems.
  • Fast prefill optimization: Streamlined initial run startup latency down to under 20 seconds.
  • Normalized coordinates: Enhanced latitude/longitude extraction to maintain 99%+ geocoding coverage across Danish regions.
  • Refined retailer detection: Improved detection of Danish enterprise dealers and commercial shops.

Version 1.1 (2026-10)

  • Added direct URL parsing support for complex category and filtered Start URLs.
  • Implemented optional deep listing enrichment (fetchDetails) for extended description text.
  • Added automated deduplication by listing ID across multi-term executions.

Version 1.0 (2026-09)

  • Initial production release supporting keyword search, DKK price parsing, GPS coordinates, and seller classification.
⌂ 换网址