SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
12.2 KB · 277 lines json
Raw Blame History
1{2  "id": "thecardvault",3  "displayName": "The Card Vault",4  "sourceId": "thecardvault",5  "sourceName": "The Card Vault",6  "sourceType": "dealer",7  "sourceUrl": "https://thecardvault.co.uk",8  "module": "api/thecardvault",9  "enginePriority": [10    "api"11  ],12  "categories": [13    "pokemon",14    "magic_the_gathering",15    "yugioh",16    "one_piece_card_game",17    "disney_lorcana",18    "dragon_ball_tcg",19    "digimon_tcg",20    "weiss_schwarz",21    "star_wars_tcg",22    "final_fantasy_tcg",23    "other_sports_cards",24    "funko",25    "designer_toys",26    "action_figures",27    "gundam",28    "flesh_and_blood",29    "other_tcg",30    "basketball_cards",31    "football_cards",32    "soccer_cards",33    "baseball_cards",34    "hockey_cards",35    "f1_cards"36  ],37  "regions": [38    "GB"39  ],40  "country": "GB",41  "languages": [42    "en"43  ],44  "currency": [45    "GBP"46  ],47  "supportsListings": true,48  "supportsSold": false,49  "supportsAuctions": false,50  "supportsImages": true,51  "supportsCatalog": false,52  "supportsPopulation": false,53  "supportsLookup": true,54  "refreshFrequencyMinutes": 720,55  "priority": "medium",56  "trustScore": 0.65,57  "attributionRequired": true,58  "termsUrl": "https://thecardvault.co.uk/policies/terms-of-service",59  "accessNotes": "The Card Vault (thecardvault.co.uk) is a Shopify shop; we read only the public, unauthenticated storefront JSON the shop serves to every visitor: /collections/<handle>/products.json?limit=250&page=N for the configured collections and /products/<handle>.json for URL lookups (singles-all-card-games, pokemon-tcg-all-products, magic-the-gathering-all-products, sealed-yu-gi-oh-products, one-piece-tcg-all-products, disney-lorcana-all-products, dragon-ball-super-cg-all-products, digimon-trading-card-game, weiss-schwarz-all-products, star-wars-unlimited-all-products, final-fantasy-tcg-all-products, sports-cards-all-products, funko-pop-vinyl-figures, youtooz-collectable-vinyl-figures, iron-studios-scale-statue, good-smile-company-nendoroid-figures, bandai-gunpla). robots.txt (checked 2026-09-08) is the standard Shopify file: for User-agent * it disallows /admin, /cart, /orders, /checkout(s), /carts, /account, /search, /policies, /recommendations/products, sort_by / filter / \"+\" collection permutations, preview_theme_id, oseid, the -remote product variants and /cdn/wpm; it blocks AhrefsBot, AhrefsSiteAudit, MJ12bot, Bytespider, Nutch and Pinterest entirely. The /collections/<handle>/products.json and /products/<handle>.json endpoints we read are not disallowed. Rate: 1 request per 1.5 s, one connection (connectors/domains.d/g4-shops-intl.json), honest RareIndexBot UA, twice a day, 3 pages per collection per incremental run (backfill bounded by backfillMaxPages). Prices are the base currency GBP (/meta.json currency GBP, Shopify.currency rate 1.0). Dealer asking prices are stored as listings, never as sales (SPEC §111); out-of-stock variants are kept as ended listings for price-history audit. Deliberately not fetched: cart/checkout/account pages, customer names, reviews or any personal data, search and sort/filter permutations (robots-disallowed), /recommendations, blog pages, and images beyond the URLs already present in the JSON.",60  "enabled": true,61  "schemaVersion": "1.0",62  "acquisitionMethod": "Shopify storefront products.json (public JSON)",63  "historicalDepth": "none",64  "requires": [],65  "config": {66    "currency": "GBP",67    "seller": "The Card Vault",68    "location": null,69    "collections": [70      {71        "handle": "singles-all-card-games",72        "categorySlug": null73      },74      {75        "handle": "pokemon-tcg-all-products",76        "categorySlug": "pokemon",77        "franchise": "Pokémon"78      },79      {80        "handle": "magic-the-gathering-all-products",81        "categorySlug": "magic_the_gathering",82        "franchise": "Magic: The Gathering"83      },84      {85        "handle": "sealed-yu-gi-oh-products",86        "categorySlug": "yugioh",87        "franchise": "Yu-Gi-Oh!"88      },89      {90        "handle": "one-piece-tcg-all-products",91        "categorySlug": "one_piece_card_game",92        "franchise": "One Piece"93      },94      {95        "handle": "disney-lorcana-all-products",96        "categorySlug": "disney_lorcana",97        "franchise": "Disney Lorcana"98      },99      {100        "handle": "dragon-ball-super-cg-all-products",101        "categorySlug": "dragon_ball_tcg",102        "franchise": "Dragon Ball"103      },104      {105        "handle": "digimon-trading-card-game",106        "categorySlug": "digimon_tcg",107        "franchise": "Digimon"108      },109      {110        "handle": "weiss-schwarz-all-products",111        "categorySlug": "weiss_schwarz"112      },113      {114        "handle": "star-wars-unlimited-all-products",115        "categorySlug": "star_wars_tcg",116        "franchise": "Star Wars"117      },118      {119        "handle": "final-fantasy-tcg-all-products",120        "categorySlug": "final_fantasy_tcg",121        "franchise": "Final Fantasy"122      },123      {124        "handle": "sports-cards-all-products",125        "categorySlug": "other_sports_cards"126      },127      {128        "handle": "funko-pop-vinyl-figures",129        "categorySlug": "funko",130        "brand": "Funko"131      },132      {133        "handle": "youtooz-collectable-vinyl-figures",134        "categorySlug": "designer_toys",135        "brand": "Youtooz"136      },137      {138        "handle": "iron-studios-scale-statue",139        "categorySlug": "action_figures",140        "brand": "Iron Studios"141      },142      {143        "handle": "good-smile-company-nendoroid-figures",144        "categorySlug": "action_figures",145        "brand": "Good Smile Company",146        "series": "Nendoroid"147      },148      {149        "handle": "bandai-gunpla",150        "categorySlug": "gundam",151        "brand": "Bandai",152        "franchise": "Gundam"153      }154    ],155    "rules": [156      {157        "match": "^(?=.*\\| singles \\|)(?=.*\\bmagic\\b)",158        "categorySlug": "magic_the_gathering",159        "franchise": "Magic: The Gathering"160      },161      {162        "match": "^(?=.*\\| singles \\|)(?=.*one piece)",163        "categorySlug": "one_piece_card_game",164        "franchise": "One Piece"165      },166      {167        "match": "^(?=.*\\| singles \\|)(?=.*dragon ball)",168        "categorySlug": "dragon_ball_tcg",169        "franchise": "Dragon Ball"170      },171      {172        "match": "^(?=.*\\| singles \\|)(?=.*star wars)",173        "categorySlug": "star_wars_tcg",174        "franchise": "Star Wars"175      },176      {177        "match": "^(?=.*\\| singles \\|)(?=.*final fantasy)",178        "categorySlug": "final_fantasy_tcg",179        "franchise": "Final Fantasy"180      },181      {182        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:star wars:? unlimited))",183        "categorySlug": "star_wars_tcg",184        "franchise": "Star Wars"185      },186      {187        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:lorcana))",188        "categorySlug": "disney_lorcana",189        "franchise": "Disney Lorcana"190      },191      {192        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:one piece (card|tcg|ccg|single|promo|sealed|booster|starter)|\\bop\\d{2}\\b|one-piece-(single|tcg|card)|\\| one piece single))",193        "categorySlug": "one_piece_card_game",194        "franchise": "One Piece"195      },196      {197        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:dragon ?ball (super |z )?(card|tcg|ccg|fusion world)|fusion world|dragonball-super|dragon-ball-super))",198        "categorySlug": "dragon_ball_tcg",199        "franchise": "Dragon Ball"200      },201      {202        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:digimon))",203        "categorySlug": "digimon_tcg",204        "franchise": "Digimon"205      },206      {207        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:flesh (and|&) blood|\\bfab\\b))",208        "categorySlug": "flesh_and_blood",209        "franchise": "Flesh and Blood"210      },211      {212        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:wei(ss|ß) schwarz))",213        "categorySlug": "weiss_schwarz"214      },215      {216        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:final fantasy (tcg|trading card|opus)|\\bopus (i{1,3}|iv|v|vi{0,3}|ix|x{1,2}|xi{1,3}|xiv|xv)\\b|\\bfftcg\\b))",217        "categorySlug": "final_fantasy_tcg",218        "franchise": "Final Fantasy"219      },220      {221        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:yu-?gi-?oh|\\bygo\\b|yugioh))",222        "categorySlug": "yugioh",223        "franchise": "Yu-Gi-Oh!"224      },225      {226        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:pok[eé]mon|\\bpkm\\b))",227        "categorySlug": "pokemon",228        "franchise": "Pokémon"229      },230      {231        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:magic:? the gathering|\\bmtg\\b|magic single|secret lair|\\bcommander\\b|universes beyond|planeswalker))",232        "categorySlug": "magic_the_gathering",233        "franchise": "Magic: The Gathering"234      },235      {236        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:cardfight|vanguard|battle spirits|union arena|riftbound|grand archive|gundam (card|tcg)|hololive (official )?card|shadowverse|sorcery:? contested|\\baltered\\b|elestrals|alpha clash|universus|my hero academia (ccg|tcg|single)|akora|kryptik|cyberpunk tcg|neuroscape|beyblade x (tcg|card)))",237        "categorySlug": "other_tcg"238      },239      {240        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bnba\\b|basketball|wnba))",241        "categorySlug": "basketball_cards"242      },243      {244        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bnfl\\b|american football))",245        "categorySlug": "football_cards"246      },247      {248        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:soccer|premier league|uefa|champions league|world cup|\\bepl\\b|bundesliga|la liga|serie a|match attax|\\bfifa\\b|road to (world cup|euro)))",249        "categorySlug": "soccer_cards"250      },251      {252        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bmlb\\b|baseball))",253        "categorySlug": "baseball_cards"254      },255      {256        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bnhl\\b|hockey))",257        "categorySlug": "hockey_cards"258      },259      {260        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bf1\\b|formula (1|one)|grand prix))",261        "categorySlug": "f1_cards"262      },263      {264        "match": "^(?!.*\\| [^|]*(?:figure|statue|plush|model kit|nendoroid|gunpla|calendar)[^|]* \\|)(?=.*(?:\\bufc\\b|wrestling|\\bwwe\\b|\\baew\\b|\\bafl\\b|\\bnrl\\b|tennis|\\bgolf\\b|cricket|rugby|boxing|nascar|racing|olympic))",265        "categorySlug": "other_sports_cards"266      }267    ],268    "defaultCategory": null,269    "exclude": "gift card|\\bsleeves?\\b|deck box|deck case|deck holder|binder|playmat|play mat|toploader|top loader|storage box|card case|portfolio|\\balbum\\b|\\bdice\\b|spindown|life counter|tokens? only|bundle of|mystery (box|pack|bundle|bag)|repack|\\bticket|event entry|entry fee|weekly league|display case|acrylic (stand|display|case)|card holder|card protector|magnetic holder|semi-rigid|perfect fit|penny sleeve|team bag|card saver|\\baccessor|dice set|d20|d6\\b|\\bpaint|brush|primer|glue|hobby tool|cutter|tweezers|sticker|keyring|key ring|lanyard|badge|coaster|mug\\b|t-shirt|hoodie|\\bcap\\b|socks|towel|blanket|poster|wall scroll|calendar|advent|advent calendar|cable guy|mocchi|plush|collection only|9-pocket|12-pocket|4-pocket",270    "keepOutOfStock": true,271    "titlePattern": "^(?<name>[^()]+?) \\((?<number>\\d[\\w/-]*)\\)$",272    "pageSize": 250,273    "fetchBarcodes": false,274    "wholeShop": false275  }276}277