# LigaPokemon Scraper: Pokémon Card Prices in BRL, Decks & Drops (`getascraper/ligapokemon-scraper`) Actor

Pokémon card and sealed product prices from LigaPokemon, Brazil's top TCG marketplace, in BRL (preço de cartas Pokémon). Batch searches, deck lists with totals, exact-printing lookup, supply depth, last sale, deal scores, USD/EUR conversion and price-drop monitoring.

- **URL**: https://apify.com/getascraper/ligapokemon-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation, Games
- **Stats:** 16 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 result items

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

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

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

## 🔴 LigaPokemon Scraper: Pokémon Card Prices in BRL, Decks & Drops

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#FDECEC;border:1px solid #F0BFBF;border-top:4px solid #CC0000;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Preço de cartas Pokémon: every card and sealed product priced in reais, in one run.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Paste a deck list, a binder or a search list and get the price range, market depth, last sale and price changes from Brazil's biggest Pokémon TCG marketplace, ready for a spreadsheet, a bot or an alert. No login needed.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F0BFBF;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#CC0000">🧾 Deck and binder value</span><br>
<span style="font-size:12px;color:#57534E">Paste lines like "4 Charizard ex (125/197) OBF" and get each line's value and the grand total.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F0BFBF;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#CC0000">📊 Market depth</span><br>
<span style="font-size:12px;color:#57534E">Listings, sellers, mix of conditions, languages and finishes, verified-seller share, and a thin-market flag.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F0BFBF;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#CC0000">🔔 Price change monitor</span><br>
<span style="font-size:12px;color:#57534E">Schedule a watchlist and see NEW, PRICE_DROP, PRICE_RISE and BACK_IN_STOCK on every run.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F0BFBF;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#CC0000">💱 BRL, USD and EUR</span><br>
<span style="font-size:12px;color:#57534E">Prices in reais, plus dollars and euros at the latest published reference rate.</span>
</td>
</tr>
</table>

Procurando o preço de cartas Pokémon no Brasil? This Actor reads public price pages of [LigaPokemon](https://www.ligapokemon.com.br/) and returns clean rows in Brazilian reais (BRL): lowest, average and highest price for each card printing or sealed product.

### 🔍 What does this Actor do?

LigaPokemon lists thousands of card printings and sealed products from independent sellers, but it only lets you look at one page at a time. This Actor turns your list into data.

- Searches up to 100 names in one run, and loads as many results per search as you ask for, not only the first screen.
- Looks up exact printings: write "Pikachu ex (001/021)" or paste a LigaPokemon link and get that card and nothing else.
- Values a pasted deck, binder or wishlist, with quantities, per-line value and a grand total. Lines that match nothing are listed in the run summary and are never charged.
- Filters by cards or sealed products, set code, language, price range and items that are for sale right now.
- Adds market depth (listings, sellers, conditions, languages, finishes), rarity, release date, price per finish and the last completed sale when you turn on full detail.
- Converts prices to US dollars and euros using the latest European Central Bank reference rate, with the rate date on every row.
- Remembers a named watchlist between scheduled runs and labels every row NEW, PRICE_DROP, PRICE_RISE, BACK_IN_STOCK, OUT_OF_STOCK or UNCHANGED.

### 💡 What can I use it for?

- **Resellers and shop owners:** price a whole buying list or your own stock in minutes and see which cards have few sellers.
- **Collectors:** find out what a binder or deck is worth in reais, and what the last copy sold for.
- **Arbitrage traders:** compare Brazilian prices with dollar and euro prices from one table.
- **Bots and spreadsheets:** schedule a watchlist and react only to what changed.
- **Content creators:** build "most valuable cards of the new set" lists from real marketplace data.

### 🚀 How to use

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F0BFBF;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#CC0000;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Add what you need</span><br>
<span style="font-size:12px;color:#57534E">Paste a card list, add searches or paste LigaPokemon links. Mix them freely.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F0BFBF;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#CC0000;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose your depth</span><br>
<span style="font-size:12px;color:#57534E">Keep the fast price range, or turn on full detail and seller offers.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F0BFBF;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#CC0000;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export or monitor</span><br>
<span style="font-size:12px;color:#57534E">Download CSV, Excel or JSON, or add a monitor name and put the run on a schedule.</span>
</td>
</tr>
</table>

### 📥 Input

Everything is optional. With nothing set the Actor runs a small demo search.

| Field | Type | Required | Description |
|---|---|---|---|
| LigaPokemon links | array of URLs | No | Card pages, sealed-product pages or search links to read directly. |
| Card list | text | No | One card per line, for example "4 Charizard ex (125/197) OBF" or "2x Pikachu V". Quantity, number and set code are optional; with a number or set code only that exact printing is returned. |
| Card or product searches | array of text | No | Up to 100 names. "Name (number/size)" jumps to one printing. |
| What to return | enum | No | Cards and sealed products, cards only, or sealed products only. |
| Set codes | array of text | No | Keep only cards from these sets, for example OBF. |
| Language | enum | No | Printed language. Filters seller offers and sealed products named with a language. Codes and words such as english both work. |
| Card condition | enum | No | Keeps seller offers in this condition. |
| Minimum / maximum average price | number | No | Skip items outside this range in reais. |
| Only items for sale now | boolean | No | Skip items with no seller listing. |
| Items per search | integer | No | How many matches to return for each search, up to 200. |
| Maximum rows for the whole run | integer | No | Stops the run at this many rows. 0 means no limit. |
| Add full market detail | boolean | No | Opens each item to add market depth, rarity, price per finish and the last sale. |
| Include last sale | boolean | No | Date, quantity and price range of the latest completed sale. |
| Include seller offers | boolean | No | One row per seller listing with seller, place, rating and condition. |
| Offers per item | integer | No | Most offers returned for each item. |
| Also show prices in | enum | No | Add US dollars, euros or both. |
| Monitor name | text | No | Name a watchlist to compare each run with the previous one. |
| Only return changes | boolean | No | With a monitor name, return only new or changed items. |
| Proxy configuration | object | No | Leave the default; LigaPokemon only answers Brazilian addresses. |

If you already use another LigaPokemon tool that takes a single `query`, `maxItems` or `maxProducts`, those names work here too.

### 📤 Output

Each run produces one row per card or product, plus the run summary record (outcome per search, deck totals, exchange rates and monitor changes). You can download the dataset as JSON, CSV, Excel or HTML.

```json
{
    "recordType": "aggregate",
    "name": "Pikachu ex",
    "type": "card",
    "edition": "ex Starter Set Pikachu ex & Pawmot",
    "editionCode": "SVC",
    "cardNumber": "001",
    "rarity": "Promocional",
    "priceMin": 120,
    "priceAvg": 135,
    "priceMax": 150,
    "currency": "BRL",
    "dealScorePct": 11.1,
    "listingCount": 2,
    "sellerCount": 2,
    "thinMarket": true,
    "byCondition": { "NM": 1, "SP": 1 },
    "lastSalePriceMid": 59.9,
    "lastSaleVsAvgPct": -55.6,
    "priceAvgUsd": 26.56,
    "changeType": "UNCHANGED",
    "url": "https://www.ligapokemon.com.br/?view=cards/card&card=Pikachu+ex%20(001/021)&ed=SVC&num=001"
}
```

### 📊 Data table

Fields a page does not show are left out. Nothing is filled with placeholders.

| Field | Type | Description |
|---|---|---|
| `name`, `type`, `edition`, `editionCode`, `cardNumber`, `imageUrl`, `url` | text | Which card or product it is, and its link. |
| `priceMin`, `priceAvg`, `priceMax` | number | Current price range in reais across all sellers. |
| `dealScorePct`, `bandWidthPct` | number | How far the cheapest listing sits below the average, and how wide the price range is. |
| `rarity`, `rarityCode`, `releaseDate`, `cardType`, `priceByFinish` | text / object | Card facts and the price range for each finish (normal, foil and so on). Needs full detail. |
| `listingCount`, `sellerCount`, `thinMarket`, `byCondition`, `byLanguage`, `byFinish` | number / object | How many listings and sellers there are and their mix. Needs full detail. |
| `verifiedSellerPct`, `trackedShippingPct`, `avgSellerRating` | number | Seller trust signals. Needs full detail. |
| `lastSaleDate`, `lastSaleQuantity`, `lastSalePriceMin`, `lastSalePriceMid`, `lastSalePriceMax`, `lastSaleVsAvgPct` | number / text | Latest completed sale and how it compares with today's average. |
| `productLanguage`, `productKind` | text | Language and kind (box, deck, tin and so on) read from a sealed product's name. |
| `priceMinUsd`, `priceAvgEur`, `fxDate` and similar | number / text | Converted prices and the date of the exchange rate. |
| `deckQuantity`, `deckLine`, `lineValueMin`, `lineValueAvg`, `lineValueMax` | number / text | Quantity and value of your pasted list line. |
| `changeType`, `previousPriceAvg`, `priceAvgChangePct`, `newListings`, `removedListings` | text / number | What changed since the previous run of the same monitor. |
| `offerSeller`, `offerSellerCity`, `offerSellerState`, `offerSellerRating`, `offerCondition`, `offerLanguage`, `offerFinish` and similar | text / number | One seller listing per row when offers are on. |

### 💰 Pricing

Pricing is pay per result. You are charged only for rows the run actually returns. Empty runs, deck lines that match nothing and searches that find nothing cost nothing. There are no monthly subscriptions or minimum commitments.

Free plan runs are limited in size, number per day and the wait between runs. These limits do not apply to paid plans.

### ⭐ Enjoying Pokémon Card Price Scraper for Brazil?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#FDECEC;border:1px solid #F0BFBF;border-left:5px solid #CC0000;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">One run just priced your whole card list in reais.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other collectors and resellers find this Actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#CC0000;border:1px solid #CC0000;border-left:5px solid #CC0000;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#FFFFFF">
<a href="https://apify.com/getascraper/ligapokemon-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips

- **Start with the price range.** It comes with every search and is the fastest, cheapest way to price a long list.
- **Use exact printings for money decisions.** "Name (number/size)" or a set code avoids matching the wrong card.
- **Turn on full detail for the cards that matter.** Listing counts tell you whether a price range rests on two sellers or two hundred.
- **Read the price range as "any condition, any language".** For single cards it covers every listing, so check the condition and language mix before comparing it with another market.
- **Schedule a watchlist.** Add a monitor name, keep the same searches, and turn on "Only return changes" to receive just the moves.

### ❓ FAQ

##### Why is there no price for each seller listing?

LigaPokemon draws each listing's exact price and quantity in a scrambled form that changes on every page load. This Actor does not guess them. Seller offers show who sells the card, where, and in what condition, language and finish, with trust signals. Use the price range for pricing.

##### Why did my search return an unexpected card?

LigaPokemon's own search can answer a name with similar cards. Add the number, for example "Name (125/197)", or a set code in the card list, and only the exact printing is returned.

##### Do I need a LigaPokemon account, cookies or an API key?

No. The Actor reads public pages only. Members-only sold-price history is not collected; you get the latest sale that the public page shows.

##### Why did a run say it was blocked and return nothing?

LigaPokemon sometimes challenges an address. The Actor retries on fresh Brazilian addresses and, if the block stays, ends with a clear message and charges nothing for what it could not read. Run it again in a few minutes.

### 🔗 Other actors

- [MySlabs Graded Card Scraper: Sold Comps & Listings](https://apify.com/getascraper/myslabs-graded-cards-scraper) ↗ - graded slab listings and sold comps from MySlabs, the peer-to-peer graded-card marketplace.
- [Fanatics Collect Card Auction Scraper: Prices, Sellers & Alerts](https://apify.com/getascraper/fanaticscollect-scraper) ↗ - auction and marketplace card listings with seller identity from Fanatics Collect.
- [Goldin Auctions Scraper: Sports Cards & Sold Comps](https://apify.com/getascraper/goldin-auctions-scraper) ↗ - live lots and a large historical sold-price archive from Goldin Auctions.
- [GoCollect Scraper: CGC/CBCS/PSA/BGS Census, Sold Prices & More](https://apify.com/getascraper/gocollect-scraper) ↗ - grading population census and sold-price data for cross-checking graded card values.
- [Whatnot Scraper: Live Shows, Products & Sellers](https://apify.com/getascraper/whatnot-scraper) ↗ - live show, product, and seller data from Whatnot's live-commerce card marketplace.

### ⚖️ Legal

This Actor reads publicly available pages. You are responsible for complying with LigaPokemon's terms of service and applicable laws. For questions or custom fields, contact the author at <devanshtiwari365@gmail.com>.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/ligapokemon-scraper/changelog.md

# Actor input Schema

## `startUrls` (type: `array`):

Optional. Paste LigaPokemon card pages, sealed-product pages or search links. Each link gives you exactly that item, with no searching.

## `decklist` (type: `string`):

One card per line, for example "4 Charizard ex (125/197) OBF" or "2x Pikachu V". Quantity, collector number and set code are optional; with a number or set code only that exact printing is returned. You also get each line's value and the grand total. Lines that match nothing are listed in the run summary and are not charged.

## `queries` (type: `array`):

Card or sealed-product names to search for, one per entry (for example "Charizard ex" or "Booster Box Escarlate e Violeta"). Add up to 100 and get them all back from one run. Use "Name (number/size)" such as "Pikachu ex (001/021)" to jump straight to one printing.

## `itemTypes` (type: `string`):

Single cards, sealed products, or both.

## `editionCodes` (type: `array`):

Only keep cards from these sets, for example OBF or SVC. Leave empty for all sets.

## `language` (type: `string`):

Printed language. Filters seller offers, and sealed products by the language shown in their name. The market price range of single cards covers all languages. Accepts a code (EN, PT, JP) or a word such as english.

## `condition` (type: `string`):

Only keep seller offers in this condition. Applies to seller offers when they are turned on; the market price range always covers all conditions.

## `minAvgPriceBrl` (type: `number`):

Skip items whose average price is below this. Leave empty for no minimum.

## `maxAvgPriceBrl` (type: `number`):

Skip items whose average price is above this. Leave empty for no maximum.

## `onlyWithListings` (type: `boolean`):

Skip items that currently have no seller listing and so no price.

## `maxProductsPerQuery` (type: `integer`):

How many matches to return for each search, in LigaPokemon's own order. More than one page of results is loaded automatically when needed.

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

Stops the run after this many rows. 0 means no limit beyond the per-search limit.

## `fetchDetails` (type: `boolean`):

Opens each item's own page to add supply counts (listings, sellers, by condition, language and finish), rarity, prices per finish and the last sale. One extra page per item, so runs take longer.

## `includeLastSale` (type: `boolean`):

Adds the most recent completed sale shown on the item page (date, quantity, price range). Needs full market detail.

## `includeOffers` (type: `boolean`):

Adds one row per seller listing: seller, city, state, rating, verification, tracked shipping, condition, language and finish. LigaPokemon scrambles each listing's exact price and quantity on the page, so those two fields stay empty rather than guessed; use the price range for pricing. Offer rows count as results.

## `maxOffersPerItem` (type: `integer`):

Most seller offers to return for each item.

## `convertTo` (type: `string`):

Adds converted price columns using the latest European Central Bank reference rate (no account needed). The rate date is included in every row.

## `monitorName` (type: `string`):

Give this watchlist a name and schedule the run. Each run is compared with the previous one and every row is marked NEW, PRICE_DROP, PRICE_RISE, BACK_IN_STOCK, OUT_OF_STOCK or UNCHANGED. Use the same name and the same searches each time. Leave empty for a one-off run.

## `onlyChanges` (type: `boolean`):

With a monitor name, return only items that are new or changed since the last run. Unchanged items are not returned or charged.

## `proxyConfiguration` (type: `object`):

LigaPokemon only answers Brazilian IP addresses, so Brazilian residential proxy is required. Leave the default as it is.

## Actor input object example

```json
{
  "startUrls": [],
  "decklist": "",
  "queries": [
    "Charizard ex",
    "Pikachu ex (001/021)"
  ],
  "itemTypes": "all",
  "editionCodes": [],
  "language": "any",
  "condition": "any",
  "onlyWithListings": false,
  "maxProductsPerQuery": 10,
  "maxItems": 0,
  "fetchDetails": false,
  "includeLastSale": true,
  "includeOffers": false,
  "maxOffersPerItem": 25,
  "convertTo": "none",
  "monitorName": "",
  "onlyChanges": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "BR"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "startUrls": [],
    "decklist": "",
    "queries": [
        "Charizard ex",
        "Pikachu ex (001/021)"
    ],
    "itemTypes": "all",
    "editionCodes": [],
    "language": "any",
    "condition": "any",
    "onlyWithListings": false,
    "maxProductsPerQuery": 10,
    "maxItems": 0,
    "fetchDetails": false,
    "includeLastSale": true,
    "includeOffers": false,
    "maxOffersPerItem": 25,
    "convertTo": "none",
    "monitorName": "",
    "onlyChanges": false,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "BR"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/ligapokemon-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 = {
    "startUrls": [],
    "decklist": "",
    "queries": [
        "Charizard ex",
        "Pikachu ex (001/021)",
    ],
    "itemTypes": "all",
    "editionCodes": [],
    "language": "any",
    "condition": "any",
    "onlyWithListings": False,
    "maxProductsPerQuery": 10,
    "maxItems": 0,
    "fetchDetails": False,
    "includeLastSale": True,
    "includeOffers": False,
    "maxOffersPerItem": 25,
    "convertTo": "none",
    "monitorName": "",
    "onlyChanges": False,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "BR",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/ligapokemon-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 '{
  "startUrls": [],
  "decklist": "",
  "queries": [
    "Charizard ex",
    "Pikachu ex (001/021)"
  ],
  "itemTypes": "all",
  "editionCodes": [],
  "language": "any",
  "condition": "any",
  "onlyWithListings": false,
  "maxProductsPerQuery": 10,
  "maxItems": 0,
  "fetchDetails": false,
  "includeLastSale": true,
  "includeOffers": false,
  "maxOffersPerItem": 25,
  "convertTo": "none",
  "monitorName": "",
  "onlyChanges": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "BR"
  }
}' |
apify call getascraper/ligapokemon-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/ligapokemon-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/tu6TWuVbUK8DziqHg/builds/Vpzl6nnc1Y5ok6IEs/openapi.json
