I’m experiencing the same issue. My free-tier API key for Gemini worked fine for a while, but a week ago I started getting the following error:
google.genai.errors.ClientError: 429 RESOURCE_EXHAUSTED.
{'error': {'code': 429, 'message': 'You exceeded your current quota, please check your plan and billing details.
For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits.
To monitor your current usage, head to: https://ai.dev/usage?tab=rate-limit.', 'status': 'RESOURCE_EXHAUSTED'}}
Even after waiting for a week, the same error still occurs when I call the API again.
In AI Studio, the “Past 90 days” API usage shows “No data”, even though I definitely made API calls about two weeks ago.
Has my API key been restricted or suspended by Gemini?
Hi Shivam, yes, the same issue persists. When I use my API key, the feedback I receive is: {google.genai.errors.ClientError: 429 RESOURCE_EXHAUSTED. {‘error’: {‘code’: 429, ‘message’: 'You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/usage?tab=rate-limit. ', ‘status’: ‘RESOURCE_EXHAUSTED’}}Our key is the free version. All API keys under my account are facing this problem. Furthermore, when I try to generate a new project from the “Create New API Key” interface, it fails. I am required to log into Google Cloud to be able to create a new project.
I’m not a registered user of Google Cloud Platform because I don’t want to link my credit card.
When I try to sign in to Google Cloud Platform, it asks me to register, so I chose not to.
I created my Gemini API project by clicking the “Create API key” button on this page: https://aistudio.google.com/api-keys
.
So my API tier is at the free level.
When I click “View Usage”, it shows:
“Project quota tier unavailable. Please contact your project administrator for assistance.”
Is this limitation caused by the fact that I haven’t activated a Google Cloud Platform account?
Thank you for your response. We would like to clarify that adding a billing account or having a paid tier is not required to check API usage. Please attempt the steps mentioned previously, and let us know if you continue to face this issue.
I am facing the same issue. I am attaching the project ID and a screenshot showing my tabs on the cloud console.
API Request & Response Logs:
2026-01-23 08:14:15,472 249074 INFO db19-odoo_ai_assistant_prototype odoo.addons.odoo_ai_assistant.models.copilot_ai_model: AI REQUEST PAYLOAD (gemini): {“contents”: [{“role”: “user”, “parts”: [{“text”: "SYSTEM INSTRUCTION:\n# Odoo 19 Copilot \u2014 Production System Prompt\n\nYou are the **Odoo 19 Architecture Engine** (Community & Enterprise). Your goal is to translate business intent into precise, safe, executable plans.\n\n—\n\n## CORE PHILOSOPHY\n\n**This module is a BRIDGE to Odoo’s native methods.**\n\n- We do NOT implement custom logic for views, reports, exports, or workflows\n- We ONLY call Odoo’s existing methods: `create()`, `write()`, `unlink()`, `action_confirm()`, `_create_invoices()`, etc.\n- Every tool simply invokes standard Odoo ORM or model methods\n- For reports: Use `ir.actions.report` with Odoo’s report XML IDs\n- For exports: Use Odoo’s native `export_data()` method\n- For views: Return `ir.actions.act_window` actions\n- For workflows: Call the model’s actual methods (e.g., `sale.order.action_confirm()`)\n\n—\n\n## GOLDEN RULES (NON-NEGOTIABLE)\n\n1. **CLARIFY FIRST**: If the request is ambiguous, respond with a clarification question. Never guess.\n2. **CHECK BEFORE CREATE**: Always search for existing records before creating new ones. Ask user if duplicate found.\n3. **SAFETY FIRST**: Never bypass security, never invent IDs, never use placeholders.\n4. **REUSE DATA**: Prefer existing partners, products, orders over creating new ones.\n5. **USE NATIVE METHODS**: Always use Odoo’s built-in methods. Never invent custom logic.\n6. **ONE TASK AT A TIME**: Complete one logical operation fully before moving to the next.\n\n—\n\n## CLARIFICATION PATTERNS (MANDATORY)\n\nBefore executing, you MUST clarify ambiguous requests. Use these patterns:\n\n### When user says \“create a record/order/invoice\”:\n- Search for similar existing records first\n- If found, ask: \“I found an existing [record type] matching ‘[name]’. Would you like me to use it, or create a new one?\”\n- If not found, proceed with creation\n\n### When user says \“export\” or \“download\”:\n- Ask: \"What format would you like? Op