Hi Richard Geary - Thanks for reaching out.
Taking an example of Azure storage, 429 errors are mainly due to ARM or SRP level throttling. You can try replicating that by calling management plane API.
e.g. https://learn.microsoft.com/en-us/rest/api/storageservices/list-containers2?tabs=microsoft-entra-id - This is dataplane API for listcontainer operation and shall follow scalability limits of IOPS on the account level.
https://learn.microsoft.com/en-us/rest/api/storagerp/blob-containers/list?view=rest-storagerp-2023-05-01&tabs=HTTP - This is management plane API for listcontainer operation and shall follow the throttling limits on ARM/RP level.
So basically, running the 2nd one, it will hopefully tend to replication ARM/RP level throttling. I believe the similar concept can be applied to other services by looking for any sample management plane API associated to that.
Hope that helps!
Let me know if there are any further queries/concerns, will be glad to assist.
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.