Skip to main content
All ABV data and features are available via the API. Path
/api/public
US
https://app.abv.dev/api/public
EU
https://eu.app.abv.dev/api/public
References:

Authentication

Authenticate with the API using Basic Auth. The API key is available in the ABV project settings.
  • Username: ABV Public Key
  • Password: ABV Secret Key
Example:
curl -u public-key:api-key https://app.abv.dev/api/public/projects

Access via SDKs

Both the ABV Python SDK and the JS/TS SDK provide a strongly-typed wrapper around our public REST API for your convenience. The API methods are accessible via the api property on the ABV client instance in both SDKs. You can use your editor’s Intellisense to explore the API methods and their parameters.
When fetching prompts, please use the get_prompt (Python) / getPrompt (JS/TS) methods on the ABV client to benefit from client-side caching, automatic retries, and fallbacks.

Python SDK

Install package
pip install abvdev
from abvdev import ABV

abv = ABV(
    api_key="sk-abv-...", # your api key here
    host="https://app.abv.dev", # host="https://eu.app.abv.dev", for EU region
)
...
# fetch a trace
abv.api.trace.get(trace_id)

# async client via asyncio
await abv.async_api.trace(trace_id)

# explore more endpoints via Intellisense
abv.api.*
await abv.async_api.*

JS/TS SDK

npm i @abvdev/client 
Environment variables Add your ABV credentials as environment variables, e.g. use .env file and dotenv package to load variable values.
npm install dotenv
.env
ABV_API_KEY="sk-abv-..."
ABV_BASEURL="https://app.abv.dev" # US region
# ABV_BASEURL="https://eu.app.abv.dev" # EU region
import { ABVClient } from "@abvdev/client";
 
const abv = new ABVClient();
alternatively use Constructor parameters
import { ABVClient } from "@abvdev/client";
 
const abv = new ABVClient({
  apiKey: "sk-abv-...",
  baseUrl: "https://app.abv.dev", // US region
  // baseUrl: "https://eu.app.abv.dev", // EU region
});
Explore api
import { ABVClient } from "@abvdev/client";
import dotenv from "dotenv";
dotenv.config();

const abv = new ABVClient();

// ...
// fetch a trace
const traceId = "target_trace_id";

async function main() {
  console.log(await abv.api.trace.get(traceId));
}

main();

// explore more endpoints via Intellisense
// abv.api.*

Ingest Traces via the API

It is recommended to use the OpenTelemetry Endpoint to ingest traces. Please refer to the SDK documentation for more information.

Alternatives

You can also export data via:
  • UI - Manual batch-exports from the ABV UI
  • Blob Storage - Scheduled automated exports to cloud storage

FAQ

The API has rate limits based on your plan. Contact [email protected] for details on rate limits and quotas for your account.