# Cardmarket Trend Scraper (`ecomscrape/cardmarket-trend-scraper`) Actor

Automate One Piece card trend analysis with our Cardmarket scraper. Extract weekly top cards, prices, and market data from Europe's largest TCG marketplace efficiently.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

### Introduction

Cardmarket stands as Europe's largest peer-to-peer online marketplace for trading card games, boasting over 90 million card offers and serving more than 300,000 buyers from over 30 countries. For One Piece Card Game enthusiasts, collectors, and market analysts, tracking trending cards and their price movements is crucial for making informed investment and trading decisions.

The challenge lies in manually monitoring weekly trend data across thousands of One Piece cards on the platform. Our Cardmarket One Piece Trend Scraper addresses this pain point by automating the data collection process from Cardmarket's Weekly Top Cards section, providing you with structured, actionable market intelligence.

### Scraper Overview

The Cardmarket One Piece Trend Scraper is a specialized data extraction tool designed to capture trending card information from Cardmarket's weekly analytics. This powerful automation solution streamlines market research by collecting comprehensive card data including pricing, positioning, and expansion details.

Key advantages include automated data collection that eliminates manual browsing, consistent data formatting for easy analysis, and reliable trend tracking for market intelligence. The scraper handles proxy rotation to ensure uninterrupted access and includes retry mechanisms for robust data collection.

This tool serves One Piece card traders seeking market opportunities, collectors tracking card values, investment analysts monitoring TCG trends, and retail businesses planning inventory strategies. Whether you're a casual trader or professional market analyst, this scraper provides the data foundation for informed decision-making.

### Input and Output Details

#### 1. Collect trend data from Best Sellers information pages

Example url 1: https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards

Example url 2: https://www.cardmarket.com/en/Magic/Data/Weekly-Top-Cards

Example url 3: https://www.cardmarket.com/en/Dragoborne/Data/Weekly-Top-Cards

Example Screenshot of Best Sellers information page:

![](https://i.ibb.co/2hrwzSd/Screenshot-from-2025-01-06-11-55-29.png)

#### 2. Collect trend data from Best Bargains information pages

Example url 1: https://www.cardmarket.com/en/OnePiece/Data/Best-Bargains

Example url 2: https://www.cardmarket.com/en/Magic/Data/Best-Bargains

Example url 3: https://www.cardmarket.com/en/Dragoborne/Data/Best-Bargains

Example Screenshot of Best Bargains information page:

![](https://i.ibb.co/DrR54Qs/Screenshot-from-2025-01-07-10-40-23.png)

#### Input Format

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": false
  },
  "max_items_per_url": 20,
  "urls": [ // Links to trend information pages.
    "https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards",
    "https://www.cardmarket.com/en/OnePiece/Data/Best-Bargains",
    "https://www.cardmarket.com/en/Magic/Data/Best-Bargains"
  ]
}
```

- **URLs** - Links to trend information pages. You can paste URLs one at a time or use the Bulk Edit section to add a prepared list.
- **Max items per url** - Don't forget to fill in this field, which allows you to choose the total items per url when scraping from the product listing page.
- **Limit the number of retries** - Maximum number of retries for each URL when collecting data when an unexpected error occurs.
- **Proxy configuration** - Add a proxy to ensure that during the data collection process, you are not detected as a bot.

#### Output Format

```json
[ // List of trend information
  {
    "url": "https://www.cardmarket.com/en/OnePiece/Products/Singles/Promos-Kingdoms-of-Intrigue/Nami-OP04-011",
    "title": "Nami (OP04-011)",
    "image_url": "https://product-images.s3.cardmarket.com/1621/OP04P/732993/732993.jpg",
    "expansion_url": "https://www.cardmarket.com/en/OnePiece/Expansions/Promos-Kingdoms-of-Intrigue",
    "price": 2.0,
    "currency": "€",
    "from_url": "https://www.cardmarket.com/en/OnePiece/Data/Best-Bargains",
    "position": 1
  }, // ... Many other trend details
]
```

The scraper returns structured data with eight key fields for each trending card. Each output record provides complete market intelligence for analysis and decision-making.

**URL**: The direct link to the specific card's Cardmarket page, enabling quick access to detailed information and purchase options. This field serves as a unique identifier and reference point for further research.

**Title**: The complete card name including character names, card types, and special designations. This field helps identify specific cards and their variants within the One Piece Card Game ecosystem.

**Image URL**: Direct link to the card's official artwork image, essential for visual identification and catalog management. These high-quality images support inventory management and customer presentation.

**Expansion URL**: Link to the card's expansion or set page, providing context about release timing and set availability. This information helps assess card rarity and potential future value.

**Price**: Current market price in the specified currency, representing real-time trading values. This critical data point enables profit analysis and investment decision-making.

**Currency**: The denomination for the price field, typically EUR given Cardmarket's European focus. Understanding currency context is essential for international traders and price comparisons.

**From URL**: Source page URL where the trend data originated, maintaining data traceability and enabling verification of scraping accuracy.

**Position**: Numerical ranking within the weekly top cards list, indicating relative popularity and market demand. Lower numbers represent higher trending status and increased market interest.

### Usage Guide

Begin by configuring the input JSON with appropriate retry limits and item counts based on your analysis needs. Set `max_items_per_url` to 20 for comprehensive weekly coverage, or reduce to 10 for focused top-tier analysis.

Configure proxy settings based on your scraping volume and requirements. For occasional use, disable proxy services to reduce costs. For frequent data collection, enable proxy rotation to maintain consistent access and avoid rate limiting.

Execute the scraper during off-peak hours to minimize server load impact and ensure reliable data collection. Cardmarket typically updates weekly trends on specific days, so time your scraping accordingly for fresh data.

Monitor output quality by reviewing the position field for logical sequencing and validating price formats. Implement data validation checks to identify and handle any collection anomalies or format changes.

Store collected data in structured formats like CSV or database tables for historical analysis and trend tracking. Regular data collection enables powerful longitudinal studies of card market dynamics.

### Benefits and Applications

The scraper eliminates hours of manual data collection, transforming a tedious research process into an automated solution. This time savings enables focus on analysis and strategy rather than data gathering.

Market intelligence applications include identifying emerging card trends before they become mainstream, tracking price volatility for investment timing, and analyzing expansion performance across different releases. This data supports both short-term trading strategies and long-term collection planning.

Business applications include inventory optimization for card shops, competitive pricing analysis for online retailers, and market research for investment funds focusing on collectibles. The structured data format enables integration with existing business intelligence systems and analytical workflows.

### Conclusion

The Cardmarket One Piece Trend Scraper transforms manual market research into automated intelligence gathering, providing competitive advantages through timely and comprehensive data collection. Whether you're tracking investments, managing inventory, or analyzing market trends, this tool delivers the data foundation needed for informed decision-making in the dynamic One Piece Card Game marketplace.

Ready to automate your One Piece card market analysis? Deploy this scraper today and gain the competitive edge through data-driven insights.

## Relate Actors

[**Cardmarket.com Card Details Page Scraper**](https://apify.com/ecomscrape/cardmarket-card-page-details-scraper): A specialized automation tool that systematically extracts comprehensive trading card information from the Cardmarket platform

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Cardmarket.com Trend Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of theSpecific trend query urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL, If an error occurs during the data scraping process.

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "SG"
  }
}
```

# 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 = {
    "urls": [
        "https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards"
    ],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "SG"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/cardmarket-trend-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 = {
    "urls": ["https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards"],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "SG",
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.cardmarket.com/en/OnePiece/Data/Weekly-Top-Cards"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "SG"
  }
}' |
apify call ecomscrape/cardmarket-trend-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/cardmarket-trend-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BIGsrUbLwDfDeGrqx/builds/vYoKvSUjQI6c4xfma/openapi.json
