animerelease — source plan (revised 2026-07-17)

Priority order for scraper implementation. Endpoints below were probed live on 2026-07-17.

Tier 1 — confirmed working, keyless

1. MediaOCD (Discotek, AnimEigo, Sentai discs, Media Blasters)

2. Sentai Filmworks — direct store

3. AllTheAnime (Anime Limited, UK)

4. Sugoi Shop (Sugoi Co, AU/NZ) — NOT BUILT YET

Australia market notes (2026-07-17)

Parked — Crunchyroll store ⚠️

Do not build crunchyroll.py adaptation now. Announced 2026-07-14:

  1. Paywall: store goes Mega/Ultimate Fan members-only starting August 2026 (gift cards sunset Aug 14). Scraping behind a paid login conflicts with the polite-scraper design and ToS.
  2. Catalog gutted: hundreds of Blu-ray/manga sets already delisted; pivot to “collectibles, curated drops, limited-release products” → no longer a comprehensive disc catalog even if reachable.
  3. Replatform risk: existing crunchyroll.py rides the SFCC/Mobify SLAS guest-token endpoint (/mobify/slas/private/shopper/auth/...); the “brand-new shopping experience” will likely break it.

Coverage gap this creates: Crunchyroll’s own NA disc releases — the largest NA distributor. Mitigations, in order:

Candidates — unverified

SourceStatusNotes
Shout! Factory / Shout Studiosproducts.json probe returned emptyWould cover GKIDS/Ghibli + Shout anime. Verify via browser (may be bot-walled or non-Shopify).
GKIDS (shop.gkids.com)probe returned emptySame — distribution runs through Shout anyway.
animecornerstore.comnot probedClaims to stock every NA anime disc; legacy custom site, likely painful. Could plug the CR-NA gap.
Bull Moose / DeepDiscount / Zavvi US / Poggersnot probedGeneral retailers; evaluate only if the CR-NA gap stays open post-August.

Data-model implications

Cross-store merge (pass 2)

parse.merge_editions unions rows sharing a UPC, a normalized catalog code, or (normalized title, format, region-market, edition), then keeps one row per cluster — preferring a real date and a real UPC and enriching those fields in place. A MediaOCD row (no UPC) thus inherits the Sentai UPC of the same disc, and a UK/Region-B edition never merges with its NA counterpart. region_market buckets B/2/PAL → UK, region-free (A/B, Free) → its own bucket, everything else → NA. Book/Release identity includes region + edition so distinct editions don’t collide in the CSV set before the merge runs.

Date coverage (date-gap investigation, pass 2)

After pass 2, ~68% of rows carry a real date (up from ~12% MediaOCD-only): AllTheAnime body_html dates ~93% of its rows, Sentai product-page dates fill in over runs, and the merge propagates a store’s date onto its no-date twin.

MediaOCD back-catalogue has no recoverable street date. Probed the product permalink pages (2026-07-17): no JSON-LD releaseDate/availabilityStarts, no “Release Date”/”Street Date” text, no prose date — the “Expected in …” line exists only on pre-orders (already parsed from short_description). So no MediaOCD page-enrichment step was added; those ~260 back-catalogue rows keep the 0001-01-01 sentinel.

Historical dates need an external source. Candidate: the ANN (Anime News Network) Encyclopedia XML API (cdn.animenewsnetwork.com/encyclopedia/api.xml), which lists home-video release dates per title — a future pass could match by normalized title/UPC and backfill sentinels. Left as sentinels for now.