Errors

What each status means here, and which ones are worth retrying.

StatusMeaningRetry?
400The body did not validate. Unknown fields are rejected rather than ignored, so a typo in a filter name is an error instead of a filter that silently did nothing.No — fix the request.
401Missing, malformed, unknown or revoked key. All four answer identically; the difference would only help somebody guessing keys.No — check or rotate the key.
402Your DYJ plan is not live. Feeds resume the moment it is.No — renew.
404No such feed or product for you. Covers an unknown id, a feed that is not yours, a disabled feed and a product outside your rules.No.
429Too many requests for this key.Yes, after backing off.
5xxOur fault.Yes, with backoff.

Why 404 and not 403

Asking for a feed that belongs to another business returns 404, exactly as a feed that does not exist does. A 403 would confirm that the id is real, which is enough to enumerate other businesses’ feeds one guess at a time. The same applies to products: a piece that exists on the marketplace but is not in your feed is indistinguishable from one that was never listed.

The practical consequence: a 404 is never proof that something does not exist. It only means it is not yours to read.

An empty list is not an error

200 with items: [] means your rules currently select nothing. The feed is working; the marketplace simply has nothing matching right now. Do not treat it as a failure and do not clear your catalogue on the strength of one empty page — see Syncing a catalogue.

Rate limits

Limits are per key, not per IP address, so adding servers does not add quota. A full catalogue sync should page steadily rather than fan out across workers. On a 429, back off exponentially; the window is measured in minutes, not hours.