# Changelog of Mercari US Sold Listings Scraper (`devilscrapes/mercari-sold-listings`) Actor

- **URL**: https://apify.com/devilscrapes/mercari-sold-listings/changelog.md
- **Full Actor documentation**: https://apify.com/devilscrapes/mercari-sold-listings.md

## Mercari US Sold Listings Scraper — Changelog

### 0.0.1 — 2026-07-21

- Scaffolded: `.actor/` (`actor.json` with `categories: ["ECOMMERCE"]`,
  `input_schema.json` / `dataset_schema.json` / `output_schema.json`
  stubs matching design.md field-for-field, `pay_per_event.json` with
  the spec's final 3 events, `Dockerfile`), `src/main.py` placeholder
  (reads input, pushes one clearly-marked placeholder record, exits
  clean), `src/__init__.py` / `src/__main__.py`, test scaffold
  (`tests/conftest.py`, `tests/test_main.py`), the QA fixture
  (`tests/fixtures/input.qa.json`, spec's own live-verified
  keyword=nintendo/category=men/soldOnly/soldWithinDays=7 combination),
  README skeleton, `scaffold.json`.
- `.actor/icon.svg` deferred to `actor-icon-designer` (Mercari brand
  mark inside the canonical Devil Scrapes container).
- Added throwaway placeholder `src/models.py` (bare `ActorInput`/
  `ResultRow`) and `src/scraper.py` (`NotImplementedError` stub) so
  the repo's ADR-0004 Pydantic-wiring gate (`scripts/verify_pydantic.py`,
  enforced by `.claude/hooks/stop_check.sh`) passes at scaffold time.
  Both are fully replaced, not extended, by T03 (`models.py` — the
  real 10-field `ActorInput` + 22-field `ResultRow` + `CATEGORY_IDS`)
  and T08 (`scraper.py` — the real orchestration) per
  `docs/specs/mercari-sold-listings/design.md` and `tasks.md`.
- Real crawler logic (`src/urls.py`, `src/parser.py`, `src/rowmap.py`,
  `src/client.py`, plus the real `src/models.py` / `src/scraper.py` /
  `src/main.py`) is not implemented yet — see
  `docs/specs/mercari-sold-listings/tasks.md` (T02-T09).
