Discover/Blocket API
live

Blocket APIblocket.se

Search and retrieve second-hand items, cars, and rental housing listings from Blocket.se and Qasa.se. 9 endpoints covering prices, dealers, categories, and more.

This API takes change requests — .
Endpoint health
verified 16h ago
get_listing_detail
search_listings
search_cars
get_car_listing_detail
search_housing
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the Blocket API?

The Blocket.se API exposes 9 endpoints for querying second-hand goods, car listings, rental housing counts, and dealer contact data from Blocket.se and Qasa.se. Use search_listings to run full-text searches over Blocket Torget with paginated results including price, location, and image URLs, or search_cars to find vehicles with make, model, year, mileage, fuel type, and transmission details. Detailed item and car records are retrievable by ad_id.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination
Sort order for results
Search keyword
api.parse.bot/scraper/7e413c69-4d2e-404b-9a0e-2b3b4ab4d511/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/7e413c69-4d2e-404b-9a0e-2b3b4ab4d511/search_listings?page=1&sort=RELEVANCE&query=iPhone' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace blocket-se-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Blocket.se SDK — find dealers, get contact info, and browse their cars."""
from parse_apis.Blocket_se_API import Blocket, Sort, ListingNotFound

client = Blocket()

# Search for dealers selling Volvo
for dealer_summary in client.dealer_summaries.search(query="Volvo", limit=3):
    print(dealer_summary.name, dealer_summary.location, dealer_summary.dealer_id)

# Get full contact details for the first dealer found
dealer_hit = client.dealer_summaries.search(query="BMW", limit=1).first()
if dealer_hit:
    dealer = dealer_hit.details()
    print(dealer.name, dealer.telephone, dealer.email)
    print(dealer.address.street, dealer.address.locality)

    # Browse this dealer's car listings
    for car in dealer.listings.list(sort=Sort.PRICE_ASC, limit=3):
        print(car.heading, car.make, car.model, car.year, car.mileage)

# Search cars directly
car = client.car_summaries.search(query="Tesla", limit=1).first()
if car:
    try:
        full = car.details()
        print(full.advertising_facts)
    except ListingNotFound as exc:
        print(f"Listing gone: {exc.item_id}")

# Fetch a known dealer by ID
try:
    known = client.dealers.get(dealer_id="626260")
    print(known.name, known.telephone, known.coordinates.latitude)
except ListingNotFound as exc:
    print(f"Dealer not found: {exc.item_id}")

print("exercised: dealer_summaries.search / details / dealers.get / dealer.listings.list / car_summaries.search / car.details")
All endpoints · 9 totalmissing one? ·

Full-text search over Blocket Torget (second-hand marketplace). Returns paginated listing summaries ordered by the chosen sort. Each result carries price, location, and image URLs. Paginate via page parameter; total count indicates available results.

Input
ParamTypeDescription
pageintegerPage number for pagination
sortstringSort order for results
queryrequiredstringSearch keyword
Response
{
  "type": "object",
  "fields": {
    "url": "string search URL used",
    "total": "integer total number of results",
    "listings": "array of listing summary objects with heading, price, location, canonical_url, ad_id, image_urls, extras"
  },
  "sample": {
    "data": {
      "url": "https://www.blocket.se/recommerce/forsale/search?q=iPhone&sort=RELEVANCE",
      "total": 53,
      "listings": [
        {
          "ad_id": 23981787,
          "brand": "Apple",
          "price": {
            "amount": 8800,
            "price_unit": "kr",
            "currency_code": "SEK"
          },
          "heading": "iPhone 16 PRO",
          "location": "Borås",
          "image_urls": [
            "https://images.blocketcdn.se/dynamic/default/item/23981787/0979214d"
          ],
          "trade_type": "Säljes",
          "canonical_url": "https://www.blocket.se/recommerce/forsale/item/23981787"
        }
      ]
    },
    "status": "success"
  }
}

About the Blocket API

Marketplace and Car Search

search_listings accepts a query string plus optional page and sort parameters, returning an array of listing summaries that include heading, price, location, canonical_url, ad_id, image_urls, and extras. The total field tells you how many results exist across all pages. search_cars works the same way for Blocket Mobility vehicles, adding fields like make, model, year, mileage, fuel, and transmission. Note that sorting by PRICE_ASC may surface leasing listings first because their monthly amounts are numerically low.

Listing Detail Endpoints

get_listing_detail takes an ad_id from search_listings and returns the full record: seller description, a category object with nested parent categories, an images array with dimensions, a location object with postal code and geo coordinates, and an extras array of typed attributes. get_car_listing_detail returns advertising_facts (targeting key-value pairs such as fuel, year, price, mileage, make_text, model_text, body_type, transmission) alongside schema_data containing schema.org BreadcrumbList structured data. Both endpoints return input_not_found for expired listings, so use fresh ad_id values from search results.

Dealers and Housing

search_dealers pages through dealer-only car listings and extracts unique dealers with dealer_id, name, and location. Pass a dealer_id to get_dealer_detail to retrieve full contact info — phone, email, street address, and lat/lng coordinates — or to get_dealer_listings to fetch that dealer's current inventory with the same fields as search_cars. search_housing queries Qasa rental listing counts by location_identifier (e.g. se/stockholms_kommun) and returns a total_count integer — it does not return individual listing records.

Categories

get_categories returns the constraint rules governing Blocket listing submissions: each rule object contains parameters, allowAll, allowedCombinations, and excludedCombinations. This is useful for validating or mapping category and trade-type pairings before submitting or filtering listings.

Reliability & maintenanceVerified

The Blocket API is a managed, monitored endpoint for blocket.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when blocket.se changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official blocket.se API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
16h ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price trends for specific second-hand goods by querying search_listings repeatedly with a keyword and recording the price field over time.
  • Build a used-car comparison tool using search_cars filtered by make/model and enriched with get_car_listing_detail for body type and transmission.
  • Aggregate dealer inventories across Sweden by combining search_dealers with get_dealer_listings for each returned dealer_id.
  • Display rental housing availability per Swedish municipality using search_housing with different location_identifier values.
  • Enrich car listings with dealer contact details (phone, email, address) by chaining search_cars to get_dealer_detail via the org_id field.
  • Validate category and trade-type combinations for a listing submission workflow using the rules from get_categories.
  • Build a second-hand item alert system that monitors search_listings results and flags new ad_id values matching a saved query.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Blocket have an official developer API?+
Blocket does not publish a public developer API. There is no documented REST or GraphQL API available to external developers on blocket.se.
What does `search_housing` return, and can I get individual rental listing details?+
The search_housing endpoint returns only a total_count integer representing the number of available rental listings for a given Qasa location identifier. It does not return individual listing records, addresses, prices, or tenant details. You can fork this API on Parse and revise it to add an endpoint that retrieves individual Qasa rental listing details.
How do I retrieve full car details after a search, and what fields does `get_car_listing_detail` expose?+
get_car_listing_detail takes an ad_id from search_cars results and returns two objects: advertising_facts with targeting pairs (fuel, year, price, mileage, make_text, model_text, body_type, transmission) and schema_data with schema.org BreadcrumbList data. It does not include a seller description or free-text notes — those are available only on second-hand item listings via get_listing_detail.
Are seller profiles or private-seller contact details available through this API?+
The API does not expose private-seller contact information such as phone numbers or email addresses for individual second-hand or car listings. get_dealer_detail covers contact data for registered car dealers only (phone, email, address, coordinates). You can fork this API on Parse and revise it to attempt extracting any publicly visible contact fields on individual listing pages.
What happens if I pass an old or expired `ad_id` to a detail endpoint?+
Both get_listing_detail and get_car_listing_detail return input_not_found when the listing has expired or been removed. Use ad_id values retrieved from a recent search_listings or search_cars call to avoid this. Blocket listings can expire quickly for popular categories, so freshness matters.
Page content last updated . Spec covers 9 endpoints from blocket.se.
Related APIs in MarketplaceSee all →
dba.dk API
Search and retrieve detailed listings from Denmark's largest marketplace DBA.dk, including product information, pricing, and seller details across general goods and car categories. Browse marketplace categories, find specific items, and access comprehensive data on both regular listings and automotive inventory.
booli.se API
Access Swedish property data from Booli.se. Search active and historical listings, retrieve full listing details and photos, and explore area market statistics and price trends.
hemnet.se API
Search and browse real estate listings from Sweden's leading property portal, retrieving comprehensive property details including prices, specifications, and availability. Access detailed information about thousands of homes and properties to find your next Swedish property or compare market listings.
tradera.com API
Search Tradera.com listings and retrieve detailed item information including seller ratings for both auctions and fixed-price sales. Get real-time access to product details and market data across Sweden's leading online marketplace.
finn.no API
Search and retrieve listings across Norwegian marketplaces on FINN.no, including vehicles, real estate, jobs, and second-hand items. Access structured listing data such as price, location, images, and category-specific attributes across all major FINN.no verticals.
kleinanzeigen.de API
Search and retrieve classified ad listings from kleinanzeigen.de. Filter by keyword, category, price range, and sorting order. Supports vehicles, real estate, jobs, electronics, and general products, with full listing details including title, price, description, location, and seller information.
bildelsbasen.se API
Find and browse used car parts from Bildelsbasen's inventory by vehicle make, model, registration number, or OEM part number. Get detailed information about available dismantled parts, including pricing and specifications from listed companies.
shpock.com API
Search and browse products listed on Shpock.com, view detailed listing information and seller profiles, and explore all available marketplace categories. Find what you're looking for by searching inventory, checking seller histories, and discovering related items from individual merchants.