Scrape finn.no/mobility — Norway's largest vehicle marketplace with 100,000+ listings across 6 categories. Collect vehicle specifications, seller details and pricing in structured datasets, with optional enrichment and incremental change tracking for precise market monitoring.
extractedEmails now picks up email addresses written in the listing description itself, not only clickable mail links.
Emails followed directly by other text are no longer returned with that text glued on (e.g. name@site.co.ukread).
Unreleased — 2026-10-08
Fixed: models whose name is a number ("208", "3008", "108") made the run fail. They now filter like any other model name.
Fixed: a number that is not a model name finn.no lists (for example "209") also made the run fail. It now stops before scraping and suggests the closest model names, like any other unknown model.
0.3.54 — 2026-10-06
New: filter by model
model input. Ask for a model series ("CLA-Klasse", or just "CLA") or a specific sub-model ("CLA180", "CLA200 d"). Separate several with commas. Every listing already carried make, series and model in the output — now you can search on them too.
Make filter works for everything finn.no lists
make is now free text and accepts any make finn.no lists in the selected category, not only a fixed list of 43 car brands. Spelling is forgiving about case, spaces, hyphens and accents. All previously selectable values work unchanged.
Fixed: the make filter had no effect for motorcycles, boats, caravans and motorhomes — those runs returned listings of every make. It now filters correctly.
Changed: a make or model that finn.no does not list stops the run before anything is scraped and tells you the closest matching names. Previously the filter was dropped without notice and the run returned unfiltered listings.
B2B / Machinery category works again
Fixed: runs with category b2b failed. They now return listings from finn.no's B2B markets (trucks, buses, construction machinery, tractors, farm tools and combines).
Maximum cost per run is respected
When you set a maximum cost per run (or a maximum number of items), the run now returns the number of listings that budget covers and finishes normally, instead of being aborted partway. In incremental mode, listings held back by the budget are delivered on the next run.
Smaller changes
Compact output and the overview table include series.
The input form shows the most used fields (search term, category, make, model, location, max results) first.
0.3.1 — 2026-05-20
EV-specific typed fields (detail-page enrichment)
Mobility detail-page parsing now promotes electric-vehicle spec rows from the raw vehicleSpecs dict into typed first-class fields:
Previously these were only accessible via vehicleSpecs["Batterikapasitet"] as raw strings. Typed fields make them sortable, filterable, and ML-ready — particularly useful for EV-focused screening.
Dataset schema "all"-view exposes the new fields. No input changes; no breaking changes to existing fields.
0.3.0 — 2026-05-12
Behavior change
omitNulls default is true. Output rows now drop fields with null, empty string, empty array, or empty object values by default. Set omitNulls: false if you need a stable schema where every row has every documented key.
New detail-page output fields
vehicleSpecs — raw label → value map of the full <dt>/<dd> spec table. Preserves any spec label not promoted to a typed field, so future categories (and Schibsted label renames) don't silently drop data.
sellerKnowledge — raw Q&A pairs from "Selgers kjennskap til bilen". Private listings populate it; dealer listings emit an empty object.
inspectionReportUrl — EU-kontroll lookup link on vegvesen.no, keyed by registration number.
updatedAt — ISO timestamp parsed from "Sist oppdatert" stamp in the Annonseinformasjon section.
Dealer infokort
For listings from forhandlere (dealers), four new typed fields surface the "Selgerens infokort":
streetAddress — physical street address (decoded from the google.com/maps link).
dealerOrgNr — 9-digit Norwegian organisation number (Brønnøysundregistrene).
dealerPageUrl — absolute URL to the dealer's FINN listing page.
dealerYearsOnFinn — numeric portion of "X+ år på FINN".
dealerTotalAds — total active ads for this dealer.
0.2.0 — 2026-05-11
Fixed: make filter now actually narrows results to the requested brand. Previously runs that passed make: "BMW" returned every car on finn.no regardless of brand.
Improved: make is now a dropdown listing the top 40+ brands on finn.no by listing volume. Users can still pass a raw Schibsted variant ID if they need a brand outside that list.
Added: Live canary test suite — verifies each filter actually narrows results against an unfiltered baseline on every release.
0.1.x — 2026-04-14
Added: descriptionHtml, descriptionMarkdown output fields (triple-format descriptions for RAG/LLM pipelines)
Added: contentHash output field (SHA-256 digest of content-identifying fields)