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
| Flag | Values | Description |
|---|---|---|
--lang= | en (default), ja | English or Japanese card pool |
--start-page= | integer ≥ 1 | First API page to fetch (default 1). Use to resume. |
--expansion-id= | e.g. base1, sv3 | Import only cards from that expansion |
--search= | Scrydex query | e.g. name:charizard, number:3 |
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
- Expansions — so expansion names/ids exist
- Sealed products — catalog for inventoring packs
- Cards (CLI) — full or per-expansion; needed for variants and market prices