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%
8.8 KB · 236 lines json
Raw Blame History
1{2  "id": "cherrycollectables",3  "displayName": "Cherry Collectables",4  "sourceId": "cherrycollectables",5  "sourceName": "Cherry Collectables",6  "sourceType": "dealer",7  "sourceUrl": "https://www.cherrycollectables.com.au",8  "module": "api/cherrycollectables",9  "enginePriority": [10    "api"11  ],12  "categories": [13    "pokemon",14    "magic_the_gathering",15    "yugioh",16    "one_piece_card_game",17    "digimon_tcg",18    "flesh_and_blood",19    "disney_lorcana",20    "basketball_cards",21    "football_cards",22    "soccer_cards",23    "baseball_cards",24    "hockey_cards",25    "f1_cards",26    "other_sports_cards",27    "non_sport_cards",28    "star_wars_tcg",29    "dragon_ball_tcg",30    "weiss_schwarz",31    "final_fantasy_tcg",32    "other_tcg"33  ],34  "regions": [35    "AU"36  ],37  "country": "AU",38  "languages": [39    "en"40  ],41  "currency": [42    "AUD"43  ],44  "supportsListings": true,45  "supportsSold": false,46  "supportsAuctions": false,47  "supportsImages": true,48  "supportsCatalog": false,49  "supportsPopulation": false,50  "supportsLookup": true,51  "refreshFrequencyMinutes": 720,52  "priority": "medium",53  "trustScore": 0.7,54  "attributionRequired": true,55  "termsUrl": "https://www.cherrycollectables.com.au/policies/terms-of-service",56  "accessNotes": "Cherry Collectables (cherrycollectables.com.au) 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 (pokemon-singles, graded-pkm, psa-10, pokemon-booster-boxes, magic-the-gathering-singles, ygo-singles, one-piece-singles, digimon-singles, flesh-and-blood-singles, lorcana, nba-singles, graded-nba-cards, nfl-singles, soccer-singles, mlb-singles, nhl-singles, all-f1, afl-singles, ufc-singles, wrestling-singles, marvel-singles). 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 AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included. Graded slabs carry the grader and grade in the title (parsed by parseGradeFromTitle) and in tags (Grader_PSA, grade 10). 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.",57  "enabled": true,58  "schemaVersion": "1.0",59  "acquisitionMethod": "Shopify storefront products.json (public JSON)",60  "historicalDepth": "none",61  "requires": [],62  "config": {63    "currency": "AUD",64    "seller": "Cherry Collectables",65    "location": null,66    "collections": [67      {68        "handle": "pokemon-singles",69        "categorySlug": "pokemon",70        "franchise": "Pokémon"71      },72      {73        "handle": "graded-pkm",74        "categorySlug": "pokemon",75        "franchise": "Pokémon"76      },77      {78        "handle": "psa-10",79        "categorySlug": "pokemon",80        "franchise": "Pokémon"81      },82      {83        "handle": "pokemon-booster-boxes",84        "categorySlug": "pokemon",85        "franchise": "Pokémon"86      },87      {88        "handle": "magic-the-gathering-singles",89        "categorySlug": "magic_the_gathering",90        "franchise": "Magic: The Gathering"91      },92      {93        "handle": "ygo-singles",94        "categorySlug": "yugioh",95        "franchise": "Yu-Gi-Oh!"96      },97      {98        "handle": "one-piece-singles",99        "categorySlug": "one_piece_card_game",100        "franchise": "One Piece"101      },102      {103        "handle": "digimon-singles",104        "categorySlug": "digimon_tcg",105        "franchise": "Digimon"106      },107      {108        "handle": "flesh-and-blood-singles",109        "categorySlug": "flesh_and_blood",110        "franchise": "Flesh and Blood"111      },112      {113        "handle": "lorcana",114        "categorySlug": "disney_lorcana",115        "franchise": "Disney Lorcana"116      },117      {118        "handle": "nba-singles",119        "categorySlug": "basketball_cards"120      },121      {122        "handle": "graded-nba-cards",123        "categorySlug": "basketball_cards"124      },125      {126        "handle": "nfl-singles",127        "categorySlug": "football_cards"128      },129      {130        "handle": "soccer-singles",131        "categorySlug": "soccer_cards"132      },133      {134        "handle": "mlb-singles",135        "categorySlug": "baseball_cards"136      },137      {138        "handle": "nhl-singles",139        "categorySlug": "hockey_cards"140      },141      {142        "handle": "all-f1",143        "categorySlug": "f1_cards"144      },145      {146        "handle": "afl-singles",147        "categorySlug": "other_sports_cards"148      },149      {150        "handle": "ufc-singles",151        "categorySlug": "other_sports_cards"152      },153      {154        "handle": "wrestling-singles",155        "categorySlug": "other_sports_cards"156      },157      {158        "handle": "marvel-singles",159        "categorySlug": "non_sport_cards",160        "franchise": "Marvel"161      }162    ],163    "rules": [164      {165        "match": "psa-10|graded-pkm",166        "categorySlug": "pokemon",167        "franchise": "Pokémon"168      },169      {170        "match": "star wars:? unlimited",171        "categorySlug": "star_wars_tcg",172        "franchise": "Star Wars"173      },174      {175        "match": "lorcana",176        "categorySlug": "disney_lorcana",177        "franchise": "Disney Lorcana"178      },179      {180        "match": "one piece (card|tcg|ccg|single|promo|sealed|booster|starter)|\\bop\\d{2}\\b|one-piece-(single|tcg|card)|\\| one piece single",181        "categorySlug": "one_piece_card_game",182        "franchise": "One Piece"183      },184      {185        "match": "dragon ?ball (super |z )?(card|tcg|ccg|fusion world)|fusion world|dragonball-super|dragon-ball-super",186        "categorySlug": "dragon_ball_tcg",187        "franchise": "Dragon Ball"188      },189      {190        "match": "digimon",191        "categorySlug": "digimon_tcg",192        "franchise": "Digimon"193      },194      {195        "match": "flesh (and|&) blood|\\bfab\\b",196        "categorySlug": "flesh_and_blood",197        "franchise": "Flesh and Blood"198      },199      {200        "match": "wei(ss|ß) schwarz",201        "categorySlug": "weiss_schwarz"202      },203      {204        "match": "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",205        "categorySlug": "final_fantasy_tcg",206        "franchise": "Final Fantasy"207      },208      {209        "match": "yu-?gi-?oh|\\bygo\\b|yugioh",210        "categorySlug": "yugioh",211        "franchise": "Yu-Gi-Oh!"212      },213      {214        "match": "pok[eé]mon|\\bpkm\\b",215        "categorySlug": "pokemon",216        "franchise": "Pokémon"217      },218      {219        "match": "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)",220        "categorySlug": "other_tcg"221      },222      {223        "match": "magic:? the gathering|\\bmtg\\b|magic the gathering singles",224        "categorySlug": "magic_the_gathering",225        "franchise": "Magic: The Gathering"226      }227    ],228    "defaultCategory": null,229    "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|\\bbreak\\b|breaks\\b|opening\\b|\\bspot\\b|random team|\\bslot\\b|filler|group break|personal break|\\bpyt\\b|ebay\\b",230    "keepOutOfStock": true,231    "pageSize": 250,232    "fetchBarcodes": false,233    "wholeShop": false234  }235}236