DEV Community

Fathin Dosunmu
Fathin Dosunmu

Posted on • Originally published at agentsim.dev

Fix: Google 'This number cannot be used' for AI Agent Verification

Building AI agents that need Google accounts? You've hit "This number cannot be used" — Google's most aggressive VoIP block. Here's the technical breakdown and the fix.


How Google Detects VoIP Numbers

Google runs the most sophisticated phone verification in the industry, layering multiple checks:

1. Real-time HLR Queries

Google queries the Home Location Register of the number's carrier. Real mobile numbers return active network registration. VoIP numbers either fail HLR entirely or return internet-based routing.

2. LERG Database Lookup

The Local Exchange Routing Guide maps every North American number to its carrier. Google cross-references this — if your number belongs to Twilio, Bandwidth, or any VoIP provider, it's rejected before the SMS is even queued.

3. Behavioral Analysis

Google tracks creation patterns: how many accounts were created from this number, geographic consistency between the number's area code and the IP address, and timing patterns that suggest automation.

Why Every VoIP Provider Fails

Provider Google's detection Result
Twilio Carrier: "Twilio Inc", line_type: "voip" ❌ Blocked
Google Voice Carrier: "Google Voice", line_type: "voip" ❌ Blocked (ironic)
Vonage Carrier: "Vonage", line_type: "voip" ❌ Blocked
TextNow Carrier: "TextNow", line_type: "voip" ❌ Blocked
AgentSIM Carrier: "T-Mobile", line_type: "mobile" ✅ Passes

Even Google's own Voice product fails Google's verification — the system doesn't make exceptions.

The Fix: AgentSIM Real SIM Numbers

AgentSIM provisions actual SIM-backed numbers on carriers like T-Mobile. They pass HLR queries because they ARE on the mobile network.

Install

pip install agentsim-sdk playwright
playwright install chromium
Enter fullscreen mode Exit fullscreen mode

Google Account Verification

import agentsim
from playwright.async_api import async_playwright
import asyncio

agentsim.configure(api_key="asm_live_xxx")

async def verify_google_account():
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto("https://accounts.google.com/signup")

        # Fill registration form...
        await page.fill('[name="firstName"]', "Agent")
        await page.fill('[name="lastName"]', "Smith")

        # Phone verification step
        async with agentsim.provision(
            agent_id="google-signup",
            country="US"
        ) as num:
            print(f"Using: {num.number}")  # Real T-Mobile number

            await page.fill('[name="phoneNumberId"]', num.number)
            await page.click("#phoneNumberNext")

            # Wait for Google's SMS on real SIM
            otp = await num.wait_for_otp(timeout=120)
            print(f"Google code: {otp.otp_code}")

            await page.fill('[name="code"]', otp.otp_code)
            await page.click("#codeNext")
        # Number auto-released

        print("Google account verified!")
        await browser.close()

asyncio.run(verify_google_account())
Enter fullscreen mode Exit fullscreen mode

With MCP (Claude Code / Cursor)

{
  "mcpServers": {
    "agentsim": {
      "url": "https://mcp.agentsim.dev/mcp",
      "headers": {
        "Authorization": "Bearer asm_live_xxx"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Your AI coding agent calls provision_number → enters it on Google → calls wait_for_otp → enters the code.

Carrier Lookup Comparison

// AgentSIM number:
{
  "number": "+12345678901",
  "carrier": "T-Mobile USA",
  "line_type": "mobile",
  "hlr_status": "active"
}

// Twilio number:
{
  "number": "+19876543210",
  "carrier": "Twilio Inc",
  "line_type": "voip",
  "hlr_status": "unreachable"
}
Enter fullscreen mode Exit fullscreen mode

Success Rates

Provider Google success rate Cost
Twilio 0% $1.15/number
Google Voice 0% Free (ToS risk)
AgentSIM 98% $0.99/session

The 2% failure rate comes from Google's behavioral analysis — not carrier detection. Using realistic delays and varying browser fingerprints brings this close to 100%.

Best Practices

  1. Rate limit: Max 1 account per hour, 3 per day per IP
  2. Realistic delays: Random 1-5 second pauses between form fields
  3. Proxy rotation: Different IP for each account
  4. Account warmup: Login and browse normally after creation

Get Started

10 free sessions per month. Stop fighting Google's VoIP detection.

Top comments (0)