# Changelog of ECHA REACH Lookup – SVHC, Annex XIV & XVII Status (`lwsdjfls/echa-reach-svhc-lookup`) Actor

- **URL**: https://apify.com/lwsdjfls/echa-reach-svhc-lookup/changelog.md
- **Full Actor documentation**: https://apify.com/lwsdjfls/echa-reach-svhc-lookup.md

## Changelog

### 0.1

- Initial release: substance lookup by CAS number, EC number or name on ECHA CHEM (REACH registration status, Candidate List, Authorisation List, Restriction List, harmonised classification), and a monitor mode for the Candidate List, Authorisation List and Restriction List and for watched substances.
- Lookups that find no substance are free, so they share an allowance of requests instead of one of lookups: 1,000 requests per run, retries included, plus `maxSearchPages` for every substance the run finds. A lookup starts only while its search requests (one per CAS or EC number, up to `maxSearchPages` per name) still fit next to those of the lookups in progress, which can take a run past the allowance with their retries and, when they fail, the requests after their search. The substances that do not fit are logged as not looked up, and CAS and EC numbers are looked up, and listed, before names.
- When ECHA CHEM stops answering (10 lookups in a row without an answer; in lookup mode one more for each substance the run has found, up to 50), new lookups wait for the ones in progress and one lookup tries again: it makes each of its requests up to five times, pausing between the attempts for a random time of up to 30, 60, 120 and 120 seconds, and at least as long as ECHA CHEM asks, if that is two minutes or less. If ECHA CHEM answers, the run goes on; otherwise it starts no more lookups. A monitor run pauses after those ten however many substances it has found, because stopping it charges nothing twice: it keeps its recorded state and the first observations it charged, and the next run looks up the rest.
- In lookup mode the substances a run did not look up are delivered free with status `lookup-failed`, so just those can be run again instead of the whole list, whose found substances a rerun charges again. A monitor run that could read none of its followed lists and watched substances ends as failed, charges nothing and keeps the recorded state, so the next run still reports every change since the last successful one.
