Azure Data Factory Pipeline error 429

Gherghinel, Cristian 0 Reputation points
2026-01-20T16:05:41.4933333+00:00

Hello there,

I am using since a few years now Azure Data Factory to pull out data from MS Graph and lately this year at the start of the year, I keep getting error 429. That means that my automatic requests from ADF pipeline, I keep get most of my request bottled. Not sure if something is changed from ADF or if the data that I'm pulling per half day is larger then it was until this year. But how can I manage this issue to get through it.

In one of my research, I can see that MS Graph is working in a certain way, like it requests to Retry-After in a certain time and I only have a static 15 second interval in my code. But MS Graph can ask for different time frame on each occasion and I am looking if it's possible to create on pipeline a way for the calling to respect the Retry-After that the MS Graph says.

If there is anyone that can help with some advice, please let me know asap, as the time this should be fixed, is limited. MS Graph only holds data from like the last 30 days and if it takes me more then 30 days, I will lose some days of data that I can extract for my report.

Azure Data Factory
Azure Data Factory

An Azure service for ingesting, preparing, and transforming data at scale.


2 answers

Sort by: Most helpful
  1. Anonymous
    2026-01-20T17:51:56.21+00:00

    Hi @Gherghinel, Cristian

    I understand you're having trouble with the Azure Data Factory pipeline where you're encountering a 429 error when pulling data from MS Graph. That's usually an indication of too many requests being made in a short span, likely due to either increased data volume or changes in request limits.

    Here are a few suggestions to tackle this issue:

    1. Implement Retry Logic: To handle the 429 error gracefully, you should adjust your request logic to respect the Retry-After response from MS Graph. This means updating your pipeline to dynamically handle the retry based on the value returned by MS Graph rather than using a static interval. You can achieve this by incorporating an activity that checks the response for Retry-After and then waits that amount of time before making the next request.
    2. Adjusting Request Volume: Since you mentioned that your data volume might have increased, consider breaking down your requests into smaller batches. This will help in managing the load and may prevent hitting the request limits set by MS Graph.
    3. Use Diagnostic Logs: Utilize Azure Data Factory's diagnostic tools to inspect the pipeline run status and identify any other transient or data-related errors. This can give you insights into whether the issue is purely due to API limits or if other factors are at play.
    4. Monitor Concurrency Limits: If you have multiple pipelines running concurrently, check your concurrency settings. Azure Data Factory has default limits on concurrent executions, which you can adjust in the Azure portal under your Data Factory settings.
    5. Retry Policies: Set proper timeout and retry policies for your pipeline activities to manage transient failures effectively.
    6. Check MS Graph Documentation: Review the MS Graph documentation regarding throttling behavior to understand the limits and best practices for handling high-frequency requests.

    References:

    Was this answer helpful?


  2. Vinodh247-1375 43,911 Reputation points Volunteer Moderator
    2026-01-20T16:32:50.0966667+00:00

    Hi ,

    Thanks for reaching out to Microsoft Q&A.

    nothing is “wrong” with ADF. You are hitting Microsoft Graph throttling more aggressively, and Graph has become stricter and more dynamic with rate limits in the last year.

    What changed Microsoft Graph throttling is no longer a fixed or predictable limit. It is now based on app, tenant, workload, endpoint, and time of day. If your data volume increased or Microsoft tightened limits for the endpoints you use, 429 will appear more often. A static 15-second wait is not sufficient because Graph explicitly tells you how long to wait via the Retry-After header, and that value varies per request.

    Key point is If you ignore Retry-After, Graph will keep throttling you. You must respect it, or you will never catch up.

    Overall:

    ADF does not natively handle dynamic Retry-After well. You can hack around it, but for Graph-heavy ingestion under pressure, Azure Functions or Logic Apps with built-in retry policies are the right tool. If this is time-critical and data loss is a risk, move the Graph extraction logic out of ADF now.

     

    Please 'Upvote'(Thumbs-up) and 'Accept' as answer if the reply was helpful. This will be benefitting other community members who face the same issue.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.