repmk (https://github.com/mikeb26/chesstools/tree/main/cmd/repmk) is a command line tool for building chess opening repertoires. It combines analysis data from https://lichess.org/api#tag/Analysis, local stockfish evals, and data from the opening explorer (https://lichess.org/api#tag/Opening-Explorer). When users run it the API traffic tends to be bursty in nature followed by long periods of idleness. For a given a position it will check the opening explorer for the top replies and then for each reply check the analysis data to get the evaluation of the position with that reply.
I have implemented rate limiting according to the documentation here:
https://lichess.org/page/api-tips
https://lichess.org/api#section/Introduction/Rate-limiting
e.g. https://github.com/mikeb26/chesstools/blob/main/openings.go#L397-L409
However, despite this at times I find that the lichess API will just return nothing but 429 for several hours. So I would guess somewhere I'm unintentionally tripping a DDoS protection mechanism and getting firewalled. Can lichess please advise on what I can additionally do to avoid this? Please let me know if you need additional information.