Python SDK for Vercel APIs and Vercel Functions.
For product-level behavior, limits, and platform setup, use the official Vercel docs.
Install the package:
pip install vercelOr with uv:
uv add vercelConfigure the credentials via environment variables based on your app's needs:
BLOB_READ_WRITE_TOKENfor Vercel BlobVERCEL_TOKEN,VERCEL_PROJECT_ID, andVERCEL_TEAM_IDfor Vercel API clientsVERCEL_OIDC_TOKENfor local OIDC testing. On Vercel, OIDC helpers can read the request token after you register request headers withvercel.headers.set_headers().
For local OIDC development, you can load a short-lived token dynamically with the Vercel CLI:
VERCEL_OIDC_TOKEN=$(vc project token some-project) some-commandimport asyncio
from vercel.client import AsyncVercel
from vercel.oidc.credentials import get_credentials
async def main() -> None:
credentials = get_credentials()
vercel = AsyncVercel(access_token=credentials.token)
deployment = await vercel.deployments.create_deployment(
body={
"name": "hello-python",
"project": "hello-python",
"target": "preview",
"files": [
{
"file": "index.html",
"data": "<h1>Hello from Python</h1>",
}
],
}
)
print(f"Deployment created: https://{deployment['url']}")
asyncio.run(main())Import from public modules under vercel.*, such as vercel.blob,
vercel.cache, vercel.headers, vercel.oidc, vercel.projects, and
vercel.sandbox. Modules under vercel._internal.* are implementation details
and may change without public API guarantees.
Sync counterparts are available for the main client classes and module-level helpers when you are not running an async application.