# Tradera Scraper (`crawlerbros/tradera-scraper`) Actor

Scrape Tradera.com - Sweden's largest second-hand marketplace with millions of auction and buy-now listings. Search items by keyword or browse by category. Extract prices, descriptions, seller info, shipping options, brand, model, and images.

- **URL**: https://apify.com/crawlerbros/tradera-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Tradera Scraper

Extract marketplace listings from [Tradera.com](https://www.tradera.com) — Sweden's largest second-hand marketplace with millions of auctions and buy-now listings across all categories.

### What Does This Scraper Do?

This actor scrapes product listings from Tradera.com, including:

- **Listing details**: title, price, item type (auction/buy-now), condition
- **Auction data**: current bid, buy-now price, total bids, end date
- **Seller information**: seller username, country, company/private flag
- **Shipping options**: carrier types and costs in SEK
- **Images**: product photos with multiple resolution options
- **Category info**: category ID for drill-down scraping

Tradera is the primary C2C (consumer-to-consumer) marketplace in Sweden, owned by Adevinta. Listings are in Swedish kronor (SEK).

### Modes

#### `search` — Keyword Search

Search for listings by keyword across all Tradera categories.

**Example searches:**
- `laptop` — all laptop listings
- `iPhone 15` — specific product
- `vintage kamera` — vintage cameras
- `cykel dam` — women's bicycles

#### `byCategory` — Browse by Category

Browse listings within a specific Tradera category using its numeric ID.

**Popular category IDs:**
- `302393` — Laptops
- `12` — Computers & Accessories
- `1000242` — Desktop computers
- `302394` — Tablets
- `2601` — Mobile phones

Find category IDs in the Tradera URL when browsing: `tradera.com/category/**302393**`

### Input Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `mode` | String | `search` or `byCategory` |
| `searchQuery` | String | Keywords to search (mode=search) |
| `categoryId` | String | Category numeric ID (mode=byCategory) |
| `sortBy` | String | Sort order (see options below) |
| `minPrice` | Number | Only include listings priced at or above this value (SEK) |
| `maxPrice` | Number | Only include listings priced at or below this value (SEK) |
| `itemType` | String | Filter by listing type: `Auction`, `AuctionBin`, or `PureBin` (fixed price) |
| `maxItems` | Integer | Maximum listings to return (1–80) |

#### Sort Options

| Value | Description |
|-------|-------------|
| `Relevance` | Default Tradera relevance ranking |
| `MostBids` | Listings with most auction bids |
| `NewestFirst` | Most recently listed |
| `EndDateAscending` | Ending soonest (great for live auctions) |
| `PriceAscending` | Lowest price first |
| `PriceDescending` | Highest price first |

### Output Fields

Each record contains:

| Field | Type | Description |
|-------|------|-------------|
| `listingId` | String | Tradera listing ID |
| `title` | String | Listing title |
| `price` | Number | Current price in SEK |
| `currency` | String | Always `SEK` |
| `buyNowPrice` | Number | Buy-now price for auction+BIN items |
| `priceBeforeDiscount` | Number | Original price before markdown (discounted listings only) |
| `discountRate` | Number | Discount percentage applied (discounted listings only) |
| `itemType` | String | `Auction` (bidding), `AuctionBin` (auction + buy-now), `PureBin` (private-seller fixed price), or `ShopItem` (verified-store fixed price). `PureBin` and `ShopItem` both display as "Köp nu" (Buy Now); the `itemType=PureBin` input filter matches both. |
| `condition` | String | Item condition (e.g. "Gott skick") |
| `brand` | String | Brand of the item, across all categories (phones, computers, watches, etc.) |
| `model` | String | Model/type of the item when available (e.g. "iPhone 15") |
| `sellerName` | String | Seller username |
| `sellerCountry` | String | Seller country code (e.g. `SE`) |
| `sellerIsCompany` | Boolean | Whether seller is a business |
| `sellerMemberId` | Integer | Seller's Tradera member ID |
| `startDate` | String | Listing start date (ISO 8601) |
| `endDate` | String | Auction end date (ISO 8601) |
| `totalBids` | Integer | Number of bids on auction |
| `isActive` | Boolean | Whether listing is currently active |
| `reservedPriceReached` | Boolean | Whether reserve price is met |
| `isPromoted` | Boolean | Whether the listing is a paid/promoted placement |
| `isHighlighted` | Boolean | Whether the listing has highlighted display styling |
| `acceptsOffers` | Boolean | Whether the seller accepts price offers on this listing |
| `isAuthenticated` | Boolean | Whether the item is part of Tradera's authenticity-guarantee program |
| `shippingOptions` | Array | Shipping methods and costs |
| `hasFreeShipping` | Boolean | Whether free shipping is offered |
| `imageUrl` | String | Primary listing image URL |
| `imageSecondaryUrl` | String | Secondary listing image URL |
| `categoryId` | String | Tradera category ID |
| `listingUrl` | String | Full URL to Tradera listing |
| `sourceUrl` | String | URL that was scraped |
| `scrapedAt` | String | ISO 8601 timestamp |
| `recordType` | String | Always `listing` |

### Example Output

```json
{
  "listingId": "736951745",
  "title": "Microsoft Laptop",
  "price": 2500,
  "currency": "SEK",
  "itemType": "Auction",
  "condition": "Mycket gott skick",
  "brand": "Microsoft",
  "sellerName": "volvolasse",
  "sellerCountry": "SE",
  "sellerIsCompany": false,
  "startDate": "2026-06-18T14:52:23.333Z",
  "endDate": "2026-06-30T16:52:23.269Z",
  "totalBids": 0,
  "isActive": true,
  "shippingOptions": [
    {"type": "SchenkerPrivpak", "cost": 78, "currency": "SEK"},
    {"type": "DHL", "cost": 79, "currency": "SEK"}
  ],
  "imageUrl": "https://img.tradera.net/medium/579/649634579_fa9cfaef.jpg",
  "categoryId": "302393",
  "listingUrl": "https://www.tradera.com/item/302393/736951745/microsoft-laptop",
  "sourceUrl": "https://www.tradera.com/search?q=laptop",
  "scrapedAt": "2026-06-30T12:00:00+00:00",
  "recordType": "listing"
}
````

### Use Cases

- **Price research**: Find competitive pricing for items you want to buy or sell
- **Market analysis**: Track price trends for specific product categories
- **Arbitrage opportunities**: Find underpriced items for resale
- **Auction monitoring**: Track active auctions ending soon
- **Inventory research**: Understand supply/demand for second-hand goods in Sweden
- **Academic research**: Study C2C marketplace dynamics and pricing

### Data Source

Tradera.com is a public marketplace — all listings shown are publicly visible without login. This scraper uses only publicly accessible data from Tradera's website.

### FAQ

**Q: Why are prices in SEK?**
A: Tradera is a Swedish marketplace and all transactions are in Swedish kronor (SEK).

**Q: What do the `itemType` values mean?**
A: `Auction` = pure bidding auction. `AuctionBin` = auction with a buy-now price option. `PureBin` = fixed price from a private seller (buy immediately, no bidding). `ShopItem` = fixed price from a verified store/business seller. `PureBin` and `ShopItem` both show as "Köp nu" (Buy Now) on Tradera; selecting the `PureBin` input filter returns both.

**Q: What condition labels does Tradera use?**
A: Swedish condition labels: "Nyskick" (new condition), "Mycket gott skick" (very good condition), "Gott skick" (good condition), "Godkänt skick" (acceptable condition).

**Q: How many listings can I get per run?**
A: Tradera's SSR returns up to 80 listings per search page. Set `maxItems` up to 80 to get maximum results per query.

**Q: Can I get listings from multiple searches?**
A: Run the actor multiple times with different `searchQuery` or `categoryId` values to aggregate more results.

**Q: Are sold/expired listings included?**
A: The scraper returns only currently active listings by default (those visible in Tradera search results).

# Actor input Schema

## `mode` (type: `string`):

What to scrape: `search` for keyword-based search, `byCategory` to browse a category by its numeric ID.

## `searchQuery` (type: `string`):

Keyword(s) to search for on Tradera.com. Example: `laptop`, `iPhone`, `vintage camera`.

## `categoryId` (type: `string`):

Tradera numeric category ID. Find it in the category URL on tradera.com/category/{id}. Example: `302393` for Laptops.

## `sortBy` (type: `string`):

How to sort the search results.

## `minPrice` (type: `number`):

Only include listings with a current price at or above this value (SEK). Applied client-side after fetching results.

## `maxPrice` (type: `number`):

Only include listings with a current price at or below this value (SEK). Applied client-side after fetching results.

## `itemType` (type: `string`):

Filter by listing type. "Fixed Price" includes both private-seller and verified-store listings — both display as "Köp nu" (Buy Now) on tradera.com with no bidding.

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

Maximum number of listings to return. Tradera returns up to 80 items per search page.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "laptop",
  "categoryId": "302393",
  "sortBy": "Relevance",
  "itemType": "",
  "maxItems": 20
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset containing all scraped Tradera marketplace listings.

# 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 = {
    "mode": "search",
    "searchQuery": "laptop",
    "categoryId": "302393",
    "sortBy": "Relevance",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/tradera-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 = {
    "mode": "search",
    "searchQuery": "laptop",
    "categoryId": "302393",
    "sortBy": "Relevance",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/tradera-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "searchQuery": "laptop",
  "categoryId": "302393",
  "sortBy": "Relevance",
  "maxItems": 20
}' |
apify call crawlerbros/tradera-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/tradera-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tradera Scraper",
        "description": "Scrape Tradera.com - Sweden's largest second-hand marketplace with millions of auction and buy-now listings. Search items by keyword or browse by category. Extract prices, descriptions, seller info, shipping options, brand, model, and images.",
        "version": "1.0",
        "x-build-id": "FuNbzcHe4nskp34gg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~tradera-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-tradera-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~tradera-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-tradera-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~tradera-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-tradera-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byCategory"
                        ],
                        "type": "string",
                        "description": "What to scrape: `search` for keyword-based search, `byCategory` to browse a category by its numeric ID.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query (mode=search)",
                        "type": "string",
                        "description": "Keyword(s) to search for on Tradera.com. Example: `laptop`, `iPhone`, `vintage camera`.",
                        "default": "laptop"
                    },
                    "categoryId": {
                        "title": "Category ID (mode=byCategory)",
                        "type": "string",
                        "description": "Tradera numeric category ID. Find it in the category URL on tradera.com/category/{id}. Example: `302393` for Laptops."
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "Relevance",
                            "MostBids",
                            "NewestFirst",
                            "EndDateAscending",
                            "PriceAscending",
                            "PriceDescending"
                        ],
                        "type": "string",
                        "description": "How to sort the search results.",
                        "default": "Relevance"
                    },
                    "minPrice": {
                        "title": "Minimum price (SEK)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only include listings with a current price at or above this value (SEK). Applied client-side after fetching results."
                    },
                    "maxPrice": {
                        "title": "Maximum price (SEK)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only include listings with a current price at or below this value (SEK). Applied client-side after fetching results."
                    },
                    "itemType": {
                        "title": "Listing type",
                        "enum": [
                            "",
                            "Auction",
                            "AuctionBin",
                            "PureBin"
                        ],
                        "type": "string",
                        "description": "Filter by listing type. \"Fixed Price\" includes both private-seller and verified-store listings — both display as \"Köp nu\" (Buy Now) on tradera.com with no bidding.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 80,
                        "type": "integer",
                        "description": "Maximum number of listings to return. Tradera returns up to 80 items per search page.",
                        "default": 20
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
