VAKSMS API for Python 3
About
This library is a wrapper for the https://vak-sms.com/api/vak/ API from enthusiasts. All methods are described and all types are explicitly defined. Methods that create requests to https://vak-sms.com/api/vak/ return a pydantic's models for each response. Please write about all problems related to the library to issues
API is up-to-date as of 22 May 2025.
- PyPl - https://pypi.org/project/aiovaksms/
- Github - https://github.com/AioSmsProviders/aiovaksms
- Requirements: Python >= 3.10
Features
- It's completely asynchronous
- You can use multiple clients to work with multiple users or shops
- All methods for working with API are implemented
- The library returns strictly typed for responses from APIs
- For each method, docstrings are used
- The library handle {type: error} responses and throws VaksmsBadRequest exception
- Modern, strict code for Python 3.10+
Library Installation
- Install via pip:
pip install aiovaksms - Download sources -
git clone https://github.com/AioSmsProviders/aiovaksms
Getting Started
first steps (new in 3.0 update)
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
number = await client.get_number('ya')
print(number.tel) # 79995554433
# recieve smscode
sms_code = await number.wait_sms_code(timeout=300, per_attempt=5) # do not indicate timeout and per_attempt
print(sms_code) #1234
# set status
await number.set_status('end')
# bad - ban number
# end - cancel number
# send - new sms
asyncio.run(main())
Get user balance
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
balances = await client.get_balance()
print(balances) # balance = 100.0
asyncio.run(main())
Get number count
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.get_count_number('cp')
print(data) # service='cp' count=4663 price=18.0
asyncio.run(main())
Get country list
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.get_country_list()
print(data) # [CountryOperator(countryName='Tajikistan', countryCode='tj', operatorList=['babilon mobile', 'beeline', 'megafon', 'tcell']), CountryOperator(countryName='Zimbabwe', countryCode='zw', operatorList=['econet', 'netone', 'telecel'])... ]
asyncio.run(main())
Get number
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.get_number('ya')
# An exclusive function for obtaining the lifetime of a number
# all known services whose lifetime differs from the standard 20 minutes
# are included in the library database as of 10/02/2024
# also work with "rent=True" parameter
print(data.lifetime) # 1200 lifetime from date of purchase
print(data.lives_up_to) # 1727823949 unix time of death
print(data) # tel=79296068469 service='ya' idNum='1725546315697382' lifetime=1200 lives_up_to=1727823949
asyncio.run(main())
Recieve smscode
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.get_sms_code('1725546315697382') # 1725546315697382 is number id (idNum)
print(data) # smsCode='1234'
asyncio.run(main())
request a new sms
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.set_status('1725546315697382', 'send') # 1725546315697382 is number id (idNum)
print(data) # ready
asyncio.run(main())
get service full name, service info, service icons
this method not in official vaksms documentation
import asyncio
from aiovaksms import Vaksms
async def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = await client.get_count_number_list()
print(data) # {'mr': Service(name='VK - MailRu', icon='https://vak-sms.com/static/service/mr.png', info='Тут можно принять смс от сервисов VKGroup.Не забывайте проверять номера на занятость через восстановление. Подробнее в базе знаний - https://bit.ly/3M6tXup', cost=22.0, rent=False, quantity=41153, private=False), ... }
print(data['mr'].name) # VK - MailRu
asyncio.run(main())
Contact
- E-Mail - lolkofprog@gmail.com
- Telegram - @lolkof
License
Metadata
Release files for aiovaksms 3.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aiovaksms-3.0.2.tar.gz | 33.5 kB | Without provenance | Details for aiovaksms-3.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aiovaksms-3.0.2-py3-none-any.whl | Python 3 | none | any | Details for aiovaksms-3.0.2-py3-none-any.whl |
Total release size: 67.5 kB
Release files / aiovaksms-3.0.2.tar.gz
| Download URL | aiovaksms-3.0.2.tar.gz |
|---|---|
| Size | 33.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c303dd12ae2fe00e7d90d46df0f73722f2341a89660d790789a22a39c47273b
|
|
BLAKE2b-256 checksum How to use checksums |
e09258b70f024b490bcba120690303b38d23de61c87aec859b55e20d83511f9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / aiovaksms-3.0.2-py3-none-any.whl
| Download URL | aiovaksms-3.0.2-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f743791a31a9e9c5ab0bc80df427a4de3b7dbf6c11b1c604055944b8bf623e89
|
|
BLAKE2b-256 checksum How to use checksums |
16dac584b5ca4f0103a1e7b00e2ed8a2fa9b7a2075539ce0143a15ce67cb374f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Security for aiovaksms 3.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.