# Changelog of Douyin Hashtag Detail Scraper (`opspilot.cc/douyin-hashtag-detail`) Actor

- **URL**: https://apify.com/opspilot.cc/douyin-hashtag-detail/changelog.md
- **Full Actor documentation**: https://apify.com/opspilot.cc/douyin-hashtag-detail.md

## Changelog

### \[0.2] - 2026-10-12

- The run can no longer be killed by the key-value store. Under
  `LIMITED_PERMISSIONS` — how Apify's automated QA and every API-triggered run
  starts an Actor — opening the store is refused with HTTP 403
  (`KeyValueStoreCollectionClient.getOrCreate`, path `/v2/key-value-stores`).
  That call sat in a `||` fallback chain and was never inside a `try/catch` of
  ours, so the throw ended the run with exit code 91 and a reported FAILED run
  with zero items. Every store open now goes through a wrapper that returns a
  no-op store instead of throwing, so the free-run counter and the run SUMMARY
  degrade and the actual work proceeds.
- The gate store's name-to-id lookup no longer depends on the store still being
  on the first page. There is no GET-by-name endpoint, so the lookup pages
  through `/v2/key-value-stores`; it used a fixed `limit=50`, which silently
  stopped containing gate stores once the account passed 50 of them — and the
  account creates a new default store on every run, so that list grows on its
  own. The lookup now pages (100 per page, up to 20 pages).

### 0.1.0 - 2026-09-11

#### Added

- Initial release — 1 Actor = 1 upstream endpoint.
- Free tier: 5 runs/day (KV store counter).
- Bilingual description in actor.json.
