Hi,
Thank you for reaching out to the Google Ads API support team.
Kindly note that the invalid_grant error usually indicates an issue with the refresh token. That said, you’ll need to regenerate credentials and refresh tokens. You may refer here to this guide for the steps on how you can regenerate credentials and refresh tokens. Also, you may also check this sample code for generating user credentials. I would recommend you to kindly refer to the Generate tokens guide as it describes how to generate tokens for more information. You may refer to this document to Fetch a refresh token. Also, follow this guide to know more about the refresh token expiration.
You can follow the following steps to avoid this issue:
If the issue is not resolved even after following the given suggestions, then kindly provide us with the complete API logs (request and response logs with request-id and request header) generated at your end so that we can investigate this issue further.
If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Java, .Net, PHP, Python, Ruby or Perl to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag.
You can send the details via Reply privately to the author option, or direct private reply to this email.
![]() |
Google Ads API Team |
[2025-04-23 09:11:55Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01qUgjS:ref" (ADR-00301127)