This pipeline handles it differently. POST a list of URLs, get a job ID back immediately. Processing runs in the background — your API never blocks. If a downstream returns 429 or 500, it retries 3 times with jittered exponential backoff. If a domain fails 5 times in 2 minutes, the circuit breaker opens and stops the bleeding. Every failure is stored with the URL, error, and status code. Nothing gets lost.