# Pokefoil — Data & Methodology

Canonical page: https://pokefoil.com/price-guide

This document explains where Pokefoil's numbers come from and how to read them. Site overview and citation rules: [llms.txt](https://pokefoil.com/llms.txt). Coverage list: [sets.md](https://pokefoil.com/sets.md). Operator and disclosures: [about.md](https://pokefoil.com/about.md).

## Sources

- **Prices:** TCGplayer public product pages and its market data (completed-sales index and visible listings). Pokefoil computes its own listing statistics (low/mid/high over visible asks, with and without Damaged copies) and stores daily snapshots.
- **Card metadata** (name, set, number, rarity, artist, HP, types, attacks): the community Pokemon TCG API (pokemontcg.io).
- **Card images:** mirrored on `img.pokefoil.com`.

Pokefoil displays the required attribution that TCGplayer data is not endorsed or certified by TCGplayer.

## The three price families (never conflate them)

1. **Market price (headline).** Near Mint value computed by TCGplayer from completed sales — a transactional index, not an asking price. When a card has no recent sales data, the headline falls back to the lowest visible listing, and the page marks this.
2. **Condition table.** Per printing variant, five condition tiers (Near Mint → Lightly Played → Moderately Played → Heavily Played → Damaged), each with: its own sales-based market price, 7-day and 30-day change, units sold and transaction count in the window, the actual sold low–high range, and a 30-day daily price series (price + sold count per day).
3. **Listing stats.** Self-computed over TCGplayer's visible asks: count, low, mid, high — plus a "clean" low that excludes Damaged. This answers "what are sellers asking", not "what sells".

A null change percentage means Pokefoil started tracking that card mid-window ("tracking"), not that the price is flat.

## Refresh cadence

Prices are refreshed automatically once per day. Every card page and list shows a "last updated" date. Treat any figure as a snapshot of that date, not a live quote.

## Variant handling

One card page = one TCGplayer product (set × printing variant, e.g. "Base Set Charizard — Rare Holo"). For vintage sets the tracked variant is the standard Unlimited printing; 1st Edition and Duplicate cards are separate products with their own markets and are not folded in. Rounding: all figures are USD.

## Machine-readable access

- `GET https://pokefoil.com/api/card-index` — JSON array of `[urlSlug, cardName, setName]` for every tracked card, sorted by market price descending. Cached about 1 hour.
- Card JSON-LD: card pages embed Product/Offer schema where the Offer price is explicitly labeled as the Near Mint market index, not a purchase offer.
- `https://pokefoil.com/sitemap.xml` — full page list.

There is no public bulk-price API, MCP server, or database export. These documents describe the public website; they are not permission to scrape beyond what robots.txt allows or to republish the dataset.
