# Changelog of EUIPO Trademark Search Scraper (`devilscrapes/euipo-trademark-search-scraper`) Actor

- **URL**: https://apify.com/devilscrapes/euipo-trademark-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/devilscrapes/euipo-trademark-search-scraper.md

## Changelog

### 0.1.0 - Unreleased

- TMview trademark search over `POST https://www.tmdn.org/tmview/api/search/results`
  (GET answers 405). `src/client.py`: curl-cffi with a rotating impersonation
  tuple, fresh proxy session and profile on every retry, backoff 2s doubling to
  30s, max 5 attempts, honours `Retry-After`; a 405 raises `TmviewMethodError`
  and fails the run loudly (method regression, never retried).
- Office filter `fOffices` proven live: nike + `["EM"]` returns 252 results, all
  `tmOffice == "EM"`. `offices` input defaults to `["EM"]`; empty = all offices.
- `criteria` input: C contains (default), W exact word, F fuzzy.
- `src/scraper.py`: run-wide ST13 dedupe; stops on last page, empty page, no
  new ST13, `maxPages`, `maxItems`. `totalResults == 0` finishes SUCCEEDED with
  zero rows; a block with nothing emitted fails the run.
- Pay-per-event: $0.20 actor-start + $0.002 per row.
- Offline tests against real captures (no live network).

### 0.0.1 - Unreleased

- Scaffold.
