AnonymSMS is now asms.ai:Read
asms.ai
SMS verification

GitHub Verification and OTP: Codes, Two-Factor and SMS API

GitHub verification mostly happens by email. When you sign up, GitHub emails a launch code to confirm your address, and when you sign in from a new device without two-factor authentication, it can email a device verification code. A GitHub OTP by SMS only comes into play if you choose text messages as your two-factor method.

ASMS.ai (formerly AnonymSMS, online since 2018) provides phone numbers you read in a browser, plus a REST API and MCP server for developers. Both matter here, for different reasons. A GitHub account controls code, secrets and deploy access, so the number on its two-factor must be one you own. Test suites that send SMS, on the other hand, need numbers they can read automatically.

So, plainly: never put a temporary or shared number on GitHub two-factor. Use an authenticator app or a passkey. If you came here searching for an SMS API on GitHub, or for anonymous SMS projects, the developer sections below are for you.

Codes in seconds No registration Online since 2018
Sign-up and device codesSent by email, not SMS
Two-factor optionsAuthenticator app, passkeys, security keys, GitHub Mobile, or SMS where offered
Temporary numbers on 2FANever: whoever reads the number can receive your codes
For tests and CIREST API and MCP server, private numbers per code from $0.50
BillingOne API key, wallet billing, refund if no code arrives

Instant

Codes land in seconds.

Private

No SIM, no personal info.

Always fresh

New numbers added daily.

Free number or private number?

Both receive your code in seconds. The difference is who else can see the inbox, and how reliably the code lands.

Recommended

Private number

A number dedicated to you, with an inbox only you can read. Pay per code, refunded if it never arrives.

  • Your inbox, nobody else's
  • Works when free numbers get blocked
  • Reliable delivery, automatic refunds
Get a private number

Free public number

A shared number with a public inbox. Free and instant, best for a one-off, throwaway verification.

  • $0, no signup, no SIM
  • Inbox is public, anyone can read it
  • Shared, so it may already be used
  • Great for a quick, low-stakes signup
Browse free numbers

Where your GitHub verification code comes from

GitHub accounts are created with an email address. The sign-up flow sends a code to that inbox, and you cannot finish without it. If you sign in from a new browser and do not have two-factor turned on, GitHub may email a device verification code as well.

Two-factor changes the flow. With an authenticator app, you type a code from the app. With a passkey or security key, you approve the sign-in on your device. With GitHub Mobile, you approve on your phone. Only if you chose SMS does GitHub send a text, and SMS is not offered in every country.

GitHub requires two-factor for many accounts that contribute code, so a lot of developers meet this setup screen for the first time and start looking for a number.

GitHub not sending verification code

For email codes, check spam and filters, and confirm you are checking the primary email on the account. Company mail systems sometimes hold messages from new senders, so ask your admin if codes never reach a work address.

For SMS codes, confirm the number and country in your two-factor settings. Carriers can delay or drop automated texts. If SMS keeps failing, take it as a sign to move to an authenticator app or a passkey, which do not rely on a phone network at all.

If you have lost your two-factor method, use the recovery codes you saved when you turned it on. GitHub's options for getting back in without them are limited by design, so store them somewhere safe.

Never use a temporary number for GitHub two-factor

Your GitHub account can push code, read private repositories, change organization settings and hold access tokens. Anyone who can sign in as you can do the same. Two-factor is what stops a leaked password from turning into a leaked codebase.

A free shared number has a public inbox, so your codes would be readable by strangers. A per-code number is private but temporary: once the order ends, the next code goes to a number you cannot read, and you are locked out. Neither belongs on GitHub.

Authenticator apps and passkeys are stronger than SMS anyway. If you want a phone as a fallback, use your own number or a long-term private rental you keep, and treat it as a backup, not your main method.

SMS API on GitHub: receiving real SMS in tests and CI

Many people searching for an SMS API on GitHub are developers who need to receive real texts in automated tests: sign-up flows, OTP screens and phone verification in their own apps. Mocking the SMS provider covers unit tests, but an end-to-end check needs a real number and a real message.

ASMS.ai has a REST API and a native MCP server for this. With one API key and wallet billing, your test can request a private number, wait for the SMS and read the code, from $0.50 per code. If no code arrives, the order is refunded automatically, so a flaky run does not cost you.

Keep the API key in your CI secret store, such as repository or environment secrets, never in the code itself. Run SMS steps where they add value, such as a nightly end-to-end job, rather than on every push.

Anonymous SMS projects and the MCP server

Searches for anonymous SMS on GitHub often lead to scripts that scrape public number sites. Those inboxes are shared, so they suit throwaway experiments but not real accounts or private data.

The MCP server lets an AI agent request a number and read the code as a tool call, which helps when an agent runs through your own app's sign-up flow during testing. The same rules apply: test your own services and respect the terms of any platform you touch.

For a stable number that a staging account re-verifies with, a private rental from $4.99 keeps the same number for 1 day up to 12 months depending on the country, with unlimited SMS.

Frequently asked questions

Why is GitHub not sending my verification code?+

Most GitHub codes go by email, so check spam, filters and the primary address on your account. SMS codes only come if you chose SMS for two-factor. If SMS keeps failing, switch to an authenticator app or a passkey.

Does GitHub use SMS for verification?+

Only as an optional two-factor method, and not in every country. Sign-up and new-device codes come by email.

Can I use a temporary number for GitHub two-factor?+

No. A shared number lets strangers read your codes, and a per-code number disappears after one use, which would lock you out. Use an authenticator app, a passkey, or a number you own.

What is the best GitHub 2FA method?+

Passkeys, security keys and authenticator apps are stronger than SMS. Save your recovery codes somewhere safe whichever method you choose.

What is a GitHub OTP?+

It is a one-time code GitHub asks for at sign-in or sign-up. It can come from your email, an authenticator app, or an SMS if you chose SMS for two-factor.

Is there an SMS API I can use from GitHub Actions?+

Yes. You can call the ASMS.ai REST API from any CI system, including GitHub Actions, with the API key stored as a secret. Private numbers start from $0.50 per code, refunded if no code arrives.

What do people mean by anonymous SMS on GitHub?+

Usually open-source scripts that read public shared number sites. Those inboxes are public, so they are only fit for throwaway tests, never for real accounts.

Can an AI agent receive SMS for testing?+

Yes. The native MCP server lets an agent request a number and read the incoming code as a tool call, billed to your wallet with one API key.

Get your code in seconds.

Pick a number and receive your verification SMS now. No SIM, no registration.