vidara-api
A professional, type-hinted Python wrapper for the Vidara video hosting API.
Unofficial. Not affiliated with Vidara. Works against
https://api.vidara.so/v1.
Features
- ✅ Sync client built on
requests - ✅ Async client on
httpx(vidara-api[async]) - ✅ Fully typed dataclass models +
py.typed(PEP 561) - ✅ Clear exceptions for auth, not-found, server errors
- ✅ Covers every documented endpoint: account, upload, video/file, folders
- ✅ Zero-config; just your API key
Installation
pip install vidara-api # sync only
pip install vidara-api[async] # with async support
Quickstart
from vidara import VidaraClient
# Grab your API key at https://vidara.to/settings
client = VidaraClient("YOUR_API_KEY")
# Account info
me = client.get_account_info()
print(me.username, me.videos_total)
# Upload a video from a URL
video = client.upload_from_url("https://example.com/video.mp4")
print(video.filecode, video.title)
# List your videos
videos = client.list_videos(limit=50)
for v in videos.videos:
print(v.title, v.link)
# Rename a video
client.rename_video(video.filecode, "My New Title")
# Move to a folder
client.move_video(video.filecode, folder_id=5)
Async usage
import asyncio
from vidara import AsyncVidaraClient
async def main():
client = AsyncVidaraClient("YOUR_API_KEY")
me = await client.get_account_info()
print(me.username)
asyncio.run(main())
Endpoints
| Area | Methods |
|---|---|
| Account | get_account_info, get_account_stats |
| Upload | get_upload_server, upload_file, upload_from_url, upload_thumbnail, upload_subtitle |
| Files | get_video_info, list_videos, clone_video, get_encoding_status, rename_video, move_video, delete_video, get_deleted_files, get_dmca_reports |
| Folders | list_folders, create_folder, rename_folder, delete_folder |
Error handling
All API errors raise a VidaraAPIError (or a subclass):
AuthenticationError— invalid/forbidden API key (403)NotFoundError— resource missing (404)ServerError— server failure (5xx)BadRequestError— bad inputEncodingError— video still encodingRateLimitError— too many requests
from vidara import VidaraClient, VidaraAPIError
client = VidaraClient("bad_key")
try:
client.get_account_info()
except VidaraAPIError as e:
print(e) # access denied
Development
pip install -e .[dev]
pytest
License
MIT © 2026 0xKatso
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vidara_api-0.1.0.tar.gz
(10.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vidara_api-0.1.0.tar.gz.
File metadata
- Download URL: vidara_api-0.1.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
253e719eefac2d935bfaefc82bc5db77f0bccae8226a7db41f7d15cef5d77c84
|
|
| MD5 |
ad3283780cd6e1eb5e082efff38c99a6
|
|
| BLAKE2b-256 |
db8fff8d2183fa2963a4570e099a848e423520a8bc07b0089405e57d743adaa7
|
File details
Details for the file vidara_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vidara_api-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c29a33f3fdcd139fd6f85b30c4b14cf6874ab3872d9c5924c959ae457b12039
|
|
| MD5 |
40375cfd37058b039abb5c713c7ba0e4
|
|
| BLAKE2b-256 |
7375f45ac7104911b34f68820835bfa57c2607417760dbc6694a9d38edfeb4ca
|