{
  "id": "strangecat-toys",
  "displayName": "Strangecat Toys (US collector-toy store, USD)",
  "sourceId": "strangecat-toys",
  "sourceName": "Strangecat Toys",
  "sourceType": "dealer",
  "sourceUrl": "https://strangecattoys.com",
  "module": "api/strangecat-toys",
  "enginePriority": [
    "api"
  ],
  "categories": [
    "designer_toys",
    "plush",
    "funko"
  ],
  "regions": [
    "US"
  ],
  "languages": [
    "en"
  ],
  "currency": [
    "USD"
  ],
  "supportsListings": true,
  "supportsSold": false,
  "supportsAuctions": false,
  "supportsImages": true,
  "supportsCatalog": false,
  "supportsPopulation": false,
  "supportsLookup": true,
  "refreshFrequencyMinutes": 720,
  "priority": "medium",
  "trustScore": 0.75,
  "attributionRequired": true,
  "termsUrl": "https://strangecattoys.com/policies/terms-of-service",
  "accessNotes": "Strangecat Toys (strangecattoys.com) runs on Shopify. The connector reads ONLY the public, unauthenticated storefront JSON that every Shopify shop serves to any visitor: /collections/<handle>/products.json?limit=250&page=N for the 7 configured collections (designer-toys, blindbox-mini, custom-figures, made-by-strangecat, exclusives, pop-culture, plush-more) and /products/<handle>.json for URL lookups (~5.8k designer toys, 4.8k blind-box minis, 1.7k customs). robots.txt (verified 2026-09-08, User-agent *): standard Shopify rules — Disallow /admin, /cart, /checkout(s), /orders, /account, /services, /sf_*, /cart.js, /recommendations/products, /cdn/wpm/*.js and the filter/sort crawl traps (/collections/*sort_by*, /collections/*+*, /collections/*filter*&*filter*); no Crawl-delay for *. The /collections/<handle>/products.json and /products/<handle>.json paths we read carry none of those patterns and are allowed. Sitemap declared at /sitemap.xml (not needed). Access behaviour: plain HTTP 200 JSON with the honest RareIndexBot UA, no anti-bot challenge, no login, no key. Market pinning: Shopify Markets localises products.json prices by the requester IP as soon as an Accept-Language header is present (observed on Markets-enabled shops: a Canadian crawler receives CAD-converted prices with content-language en-CA while the JSON carries no currency field). Every request therefore sends the public localization=US cookie — the shop's own home market, exactly what a US visitor gets — so prices are always the declared USD (verified 2026-09-08: 30.00 vs 43.00 on a Markets shop). Politeness: 1 request per 1.5 s, concurrency 1 per host (connectors/domains.d/g3-shops-na.json), crawlDepth pages per collection per incremental run, backfill bounded by backfillMaxPages. Data: asking prices in USD (the shop's declared currency) — these are LISTINGS, never sales (§111); one listing per variant (condition/size/edition), variant SKU kept as identifier, out-of-stock variants kept as 'ended' listings, 0.00-priced placeholders dropped. Dates: published_at only; no fetch time is ever used as a sale date. Deliberately NOT fetched: cart/checkout/account/customer endpoints, per-product .js barcode enrichment (fetchBarcodes=false: one extra request per product is not worth it for listings), the whole-shop /products.json, and unmapped collections — bags/accessories/stationery/apparel/art prints/pins/books, toy displays, sale umbrella collections, \"open box\" items. No personal data is collected; seller = the store itself.",
  "enabled": true,
  "schemaVersion": "1.0",
  "acquisitionMethod": "Shopify storefront products.json",
  "historicalDepth": "none",
  "requires": [],
  "config": {
    "currency": "USD",
    "market": "US",
    "seller": "Strangecat Toys",
    "location": "Pittsburgh, PA, USA",
    "collections": [
      {
        "handle": "designer-toys",
        "categorySlug": "designer_toys"
      },
      {
        "handle": "blindbox-mini",
        "categorySlug": "designer_toys"
      },
      {
        "handle": "custom-figures",
        "categorySlug": "designer_toys",
        "series": "Custom"
      },
      {
        "handle": "made-by-strangecat",
        "categorySlug": "designer_toys",
        "brand": "Strangecat Toys"
      },
      {
        "handle": "exclusives",
        "categorySlug": "designer_toys"
      },
      {
        "handle": "pop-culture",
        "categorySlug": "designer_toys"
      },
      {
        "handle": "plush-more",
        "categorySlug": "plush"
      }
    ],
    "rules": [
      {
        "match": "\\bfunko\\b|\\bpop!",
        "categorySlug": "funko",
        "brand": "Funko"
      }
    ],
    "defaultCategory": null,
    "exclude": "gift card|mystery|\\| (Apparel|T-Shirts?|Hats?|Accessories|Pins?|Enamel Pins?|Patches?|Socks|Hoodies?|Bags?|Stationery|Stickers?|Prints?|Posters?|Merch|Keychains?|Lanyards?|Pins? Lanyard Set|Books?|Toy Displays?|Home Goods|Drinkware) \\||t-shirt|\\btee\\b|hoodie|sweatshirt|\\bhat\\b|\\bcap\\b|beanie|\\bsocks?\\b|enamel pin|\\bpins? set\\b|\\bpatch\\b|sticker|\\bkeychain\\b|lanyard|\\bmug\\b|\\btote\\b|tumbler|display case|acrylic case|pop protector only|art print|\\bposter\\b|\\bzine\\b|\\bbook\\b|\\bgame\\b|puzzle|blanket|towel|\\bwallet\\b|backpack|\\bshirt\\b|\\bshipping\\b|\\bopen box\\b",
    "keepOutOfStock": true,
    "fetchBarcodes": false,
    "wholeShop": false,
    "pageSize": 250
  }
}
