When analyzing Sweden's second-hand market on Tradera, running broad searches often produces mixed data models. Tradera combines traditional timed auctions, auctions with buy-now options, and fixed-price store items into a single search feed. If you are building an automated pricing pipeline to monitor consumer electronics or vintage goods, fetching every listing and filtering out auction noise on your local server burns unnecessary API platform charges and event fees.
Using the Tradera Scraper actor allows you to push server-side filters directly into Tradera's search query parameter pipeline before dataset events are generated.
Understanding Tradera Item Types and Pricing Signals
Tradera categorizes listings under distinct transactional models. When retrieving data for algorithmic repricing or inventory estimation, mixing fixed-price retail items with active auctions distorts price benchmarks. The scraper categorizes these into four distinct itemType output values:
-
Auction: Standard bidding listing with an escalating current price and anendDate. -
AuctionBin: A hybrid auction that includes a "Köp nu" (Buy Now) instant purchase threshold alongside active bidding. -
PureBin: Fixed-price listings posted by private individual sellers. -
ShopItem: Fixed-price listings published by verified commercial business storefronts.
On the live Tradera website, both PureBin and ShopItem present as "Köp nu" items. However, if your query requires evaluating private consumer resale prices against store clearance items, fetching all item types costs the same per-item price as fetching only target listings.
Filtering at the input level reduces unnecessary dataset writes. Setting the itemType parameter to PureBin in your input configuration captures both private-seller fixed price listings and verified-store listings (ShopItem), effectively dropping unneeded auction records before they are committed to the output dataset.
Schema Configuration for Targeted Market Extraction
To execute a targeted extraction, you specify input parameters that restrict the search parameters on Tradera's side.
Here is an example JSON configuration designed to extract fixed-price laptop listings within a designated price range, sorted by the newest listings first:
{
"mode": "search",
"searchQuery": "laptop",
"itemType": "PureBin",
"minPrice": 1000,
"maxPrice": 10000,
"sortBy": "NewestFirst",
"maxItems": 80
}
The key fields controlling this operation include:
-
mode: Determines whether to execute a keyword search (search) or to crawl a specific Tradera numeric category ID (byCategory). -
itemType: Restricts the returned listings. Setting this toPureBinfilters out pure auctions, while setting it toAuctionisolates active bidding listings. -
sortBy: Controls the ordering of the payload. Options includeRelevance,MostBids,NewestFirst,EndDateAscending,PriceAscending, andPriceDescending. -
maxItems: Controls the ceiling of extracted records. Tradera returns up to 80 items per rendered search page.
If you are instead monitoring active bidding dynamics—such as tracking auctions ending soon to identify undervalued inventory—you can target categories directly using numeric category IDs, such as 302393 for Laptops or 2601 for Mobile Phones.
{
"mode": "byCategory",
"categoryId": "302393",
"sortBy": "EndDateAscending",
"itemType": "Auction",
"maxItems": 50
}
Running the Scraper via Python
You can integrate this extraction workflow into Python using the official Apify SDK. The script below initializes the run using the crawlerbros/tradera-scraper actor, passes the search schema, and parses the structured record fields.
from apify_client import ApifyClient
# Initialize the client with your Apify API token
client = ApifyClient("YOUR_APIFY_TOKEN")
# Define the task input using search filters
run_input = {
"mode": "search",
"searchQuery": "iPhone 15",
"sortBy": "PriceAscending",
"minPrice": 3000,
"maxPrice": 12000,
"maxItems": 80,
}
# Run the actor and wait for completion
run = client.actor("crawlerbros/tradera-scraper").call(run_input=run_input)
# Fetch records from the run's default dataset
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in dataset_items:
listing_id = item.get("listingId")
title = item.get("title")
price = item.get("price")
item_type = item.get("itemType")
seller_name = item.get("sellerName")
is_company = item.get("sellerIsCompany")
print(f"[{listing_id}] {title} - {price} SEK ({item_type}) | Seller: {seller_name} (Company: {is_company})")
Parsing Output Fields for Financial Analysis
Every record emitted by the actor follows a standard schema containing metadata about the seller, the item details, shipping costs, and promotion flags.
{
"listingId": "736951745",
"title": "Microsoft Laptop",
"price": 2500,
"currency": "SEK",
"itemType": "Auction",
"condition": "Mycket gott skick",
"brand": "Microsoft",
"model": "Surface",
"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",
"scrapedAt": "2026-06-30T12:00:00+00:00",
"recordType": "listing"
}
Key fields to extract for localized marketplace metrics include:
-
priceandcurrency: Numeric transaction values, consistently delivered in Swedish Krona (SEK). -
condition: Standardized Swedish condition strings used across Tradera, including "Nyskick" (like new), "Mycket gott skick" (very good condition), "Gott skick" (good condition), and "Godkänt skick" (acceptable condition). -
sellerIsCompany: A boolean flag indicating whether the listing originates from a commercial business or a private consumer seller. -
shippingOptions: An array containing localized carrier types (such as SchenkerPrivpak or DHL) and their costs in SEK.
Event Cost Structure
This actor uses a pay-per-event pricing model. Each result costs $0.005 on the free tier, plus a one-time start charge of $0.005 per GB of memory allocated to the run. Platform usage for the run is billed separately at your Apify plan's rates.
Under Apify's discount tiers, the per-result event price scales based on your account level:
- FREE: $0.005 per result event
- BRONZE: $0.00433 per result event
- SILVER: $0.00367 per result event
- GOLD: $0.003 per result event
- PLATINUM: $0.003 per result event
- DIAMOND: $0.003 per result event
Filtering out irrelevant listing types (e.g., using itemType="PureBin") directly reduces the number of result events generated during a run, lowering your total event charges.
Workflow Limitations
This approach is designed for active listing extractions from public search results and category trees. It does not extract historical transaction records for completed or expired listings that have already been removed from search indexes.
Runs in this article used Tradera Scraper. Its README is the reference for input fields and output structure; this post is only one path through them.
Prices quoted above are this Actor's published pay-per-event rates on the Apify Store, read from the Apify platform API on 2026-10-03. Check the Actor page for the current rates.
Top comments (0)