Updates

Refresh Scrydex catalog data (expansions, sealed products, cards). Run these when prices or new sets need syncing.

Expansions

Import expansion list from Scrydex into expansions_cursor. Safe in the browser — paginate EN/JA and use Import All per language.

Sealed Products

Import booster boxes, ETBs, packs, etc. into sealed_products_cursor. Safe in the browser — same page-by-page workflow as expansions.

Cards (browser)

Preview and save one page at a time, or filter by expansion / search. Fine for spot checks. Do not run a full catalog Import All here — PHP will time out.

Cards — CLI import (recommended for full updates)

Full card + variant + price sync must run via SSH so it is not killed by the web server timeout. Script: api/import-cards-cli-cursor.php (CLI only — returns 403 in a browser).

From your project root (the folder that contains api/ and config/):

# Full English catalog (all pages, from page 1)
php api/import-cards-cli-cursor.php

# Full Japanese catalog
php api/import-cards-cli-cursor.php --lang=ja

# Resume after interrupt (e.g. stopped on page 50)
php api/import-cards-cli-cursor.php --start-page=50
php api/import-cards-cli-cursor.php --lang=ja --start-page=12

# One expansion only (Scrydex expansion id, e.g. Base Set)
php api/import-cards-cli-cursor.php --expansion-id=base1
php api/import-cards-cli-cursor.php --expansion-id=base1 --lang=ja

# Search filter (Scrydex q syntax — appended to language filter)
php api/import-cards-cli-cursor.php --search="name:charizard"
php api/import-cards-cli-cursor.php --search="name:chansey" --lang=en

# Combine filters
php api/import-cards-cli-cursor.php --expansion-id=sv3 --lang=en --start-page=1
php api/import-cards-cli-cursor.php --expansion-id=base1 --search="name:chansey"
CLI options
FlagValuesDescription
--lang=en (default), jaEnglish or Japanese card pool
--start-page=integer ≥ 1First API page to fetch (default 1). Use to resume.
--expansion-id=e.g. base1, sv3Import only cards from that expansion
--search=Scrydex querye.g. name:charizard, number:3
Logs: each run writes to api/logs/import-cards-cursor-YYYY-MM-DD_HH-MM-SS.txt. Re-runs are safe — uses upsert on cards_cursor and refreshes variants/prices.
Suggested order
  1. Expansions — so expansion names/ids exist
  2. Sealed products — catalog for inventoring packs
  3. Cards (CLI) — full or per-expansion; needed for variants and market prices