{"id":13549952,"url":"https://github.com/transitive-bullshit/sms-number-verifier","last_synced_at":"2025-04-09T16:13:06.893Z","repository":{"id":38896844,"uuid":"132377583","full_name":"transitive-bullshit/sms-number-verifier","owner":"transitive-bullshit","description":"Allows you to spoof SMS number verification.","archived":false,"fork":false,"pushed_at":"2020-07-11T23:11:46.000Z","size":150,"stargazers_count":209,"open_issues_count":2,"forks_count":35,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-09T16:12:57.384Z","etag":null,"topics":["2-factor","activation","authentication","otp","phone-number","pin","sms","verification"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transitive-bullshit.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-06T21:30:43.000Z","updated_at":"2025-03-19T07:06:49.000Z","dependencies_parsed_at":"2022-08-19T04:12:08.068Z","dependency_job_id":null,"html_url":"https://github.com/transitive-bullshit/sms-number-verifier","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fsms-number-verifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fsms-number-verifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fsms-number-verifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fsms-number-verifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transitive-bullshit","download_url":"https://codeload.github.com/transitive-bullshit/sms-number-verifier/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065282,"owners_count":21041872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2-factor","activation","authentication","otp","phone-number","pin","sms","verification"],"created_at":"2024-08-01T12:01:27.397Z","updated_at":"2025-04-09T16:13:06.876Z","avatar_url":"https://github.com/transitive-bullshit.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# sms-number-verifier\n\n\u003e Allows you to spoof SMS number verification.\n\n[![NPM](https://img.shields.io/npm/v/sms-number-verifier.svg)](https://www.npmjs.com/package/sms-number-verifier) [![Build Status](https://travis-ci.com/transitive-bullshit/sms-number-verifier.svg?branch=master)](https://travis-ci.com/transitive-bullshit/sms-number-verifier) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n-   meant for automated systems that need to bypass SMS number verification\n-   handles hundreds of known services (wechat, google, facebook, whatsapp, uber, twitter, etc...)\n-   thorough test suite\n-   great for bots...\n\n## Install\n\nThis module requires `node \u003e= 8`.\n\n```bash\nnpm install --save sms-number-verifier\n```\n\n## Usage\n\n```js\nconst SMSNumberVerifier = require('sms-number-verifier')\n\nconst smsVerifier = new SMSNumberVerifier('getsmscode', {\n  username: '...',\n  token: '...'\n})\n\n// fetch a number to use for a new verification request\nconst number = await smsVerifier.getNumber({ service: 'google' })\n\n// give number to third-party service such as google...\n// third-party service sends SMS code to the given number\n\n// check for valid codes received via SMS from the google service\nconst codes = await smsVerifier.getAuthCodes({ number, service: 'google' })\n// codes = [ '584125' ]\n```\n\n**Note**: there may be multiple auth codes returned since the SMS numbers being used are publicly shared. We filter the results down to only those codes that could possibly be associated with your request, and most of the time you will only receive one code back. In the case of multiple codes, we recommend you try the codes in-order (the most recently received code will be first).\n\n**Note**: there may be variable amounts of latency between giving your number to the service and the SMS code being received. If no valid codes are returned, it is recommended that you retry `request.getAuthCodes` with an exponential timeout.\n\n## Providers\n\nThe following providers provide free, virtual numbers:\n\n-   [smsreceivefree](https://smsreceivefree.com/)\n\nThe following providers provide paid, virtual numbers:\n\n-   [plivo](https://www.plivo.com/)\n\nThe following providers provide paid, physical numbers:\n\n-   [getsmscode](http://www.getsmscode.com/)\n\nWe highly recommend that you use the [getsmscode](http://www.getsmscode.com/) provider, as virtual numbers (VOIP) are rejected by many popular OTP services, such as Microsoft and Google.\n\n## API\n\n\u003c!-- Generated by documentation.js. Update this documentation by updating the source code. --\u003e\n\n### [SMSNumberVerifier](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L19-L103)\n\nMain entrypoint for verifying numbers via SMS OTP.\n\nType: `function (provider, opts)`\n\n-   `provider` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | OTPProvider)** Name of built-in provider or an instance\n    of a custom provider.\n-   `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Config options for provider (optional, default `{}`)\n\n* * *\n\n#### [provider](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L35-L35)\n\nUnderlying OTP provider.\n\nType: OTPProvider\n\n* * *\n\n#### [getNumber](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L40-L60)\n\nType: `function (opts)`\n\n-   `opts`   (optional, default `{}`)\n\n* * *\n\n#### [getAuthCodes](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L65-L98)\n\nType: `function (opts)`\n\n-   `opts`\n\n## Todo\n\n-   [ ] support country selection\n-   [ ] support more providers\n    -   paid\n        -   [ ] \u003chttps://sms-verification.net\u003e\n        -   [ ] \u003chttps://receive-sms.com\u003e\n        -   [ ] twilio\n        -   [ ] [plivo](https://plivo.com)\n        -   [ ] [nexmo](https://www.nexmo.com/pricing)\n    -   anonymous / free\n        -   [ ] \u003chttps://freephonenum.com/us\u003e\n        -   [ ] \u003chttps://receive-smss.com/\u003e\n        -   [ ] \u003chttps://sms-online.co/receive-free-sms\u003e\n        -   [ ] [trash mobile](https://www.spoofbox.com/en/tool/trash-mobile)\n        -   [ ] [misc](https://drfone.wondershare.com/message/receive-message-online.html)\n    -   [aggregate](https://www.reddit.com/r/privacytoolsIO/comments/8bz1j6/receive_anonymous_sms_online_without_giving_away/)\n-   how can you tell if a number has been banned?\n\n## Related\n\n-   [parse-otp-message](https://github.com/transitive-bullshit/parse-otp-message) - Parses OTP messages for a verification code and service provider.\n-   [getsmscode](https://github.com/transitive-bullshit/getsmscode) - API client for [getsmscode.com](http://www.getsmscode.com/).\n\n## Disclaimer\n\nUsing this software to violate the terms and conditions of any third-party service is strictly against the intent of this software. By using this software, you are acknowledging this fact and absolving the author or any potential liability or wrongdoing it may cause. This software is meant for testing and experimental purposes only, so please act responsibly.\n\n## License\n\nMIT © [Travis Fischer](https://github.com/transitive-bullshit)\n\nSupport my OSS work by \u003ca href=\"https://twitter.com/transitive_bs\"\u003efollowing me on twitter \u003cimg src=\"https://storage.googleapis.com/saasify-assets/twitter-logo.svg\" alt=\"twitter\" height=\"24px\" align=\"center\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fsms-number-verifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransitive-bullshit%2Fsms-number-verifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fsms-number-verifier/lists"}