Learn how to interact with this dataset using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Retrieve dataset
Get dataset metadata including name, visibility, description, and other asset properties.
import osfrom ouro import Ouro# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))dataset_id = "019d8764-872d-7f01-a347-3e44c7b19ddc"# Retrieve dataset metadatadataset = ouro.datasets.retrieve(dataset_id)print(dataset.name, dataset.visibility)print(dataset.metadata)
Read schema
Get column definitions for the underlying table, including column names, data types, and constraints.
6 columns
Column
Type
apy
real
best_yield_protocol
text
lock_period
text
min_deposit
integer
risk_level
text
stablecoin
text
# Get column definitions for the underlying tablecolumns = ouro.datasets.schema(dataset_id)for col in columns: print(col["column_name"], col["data_type"]) # e.g., age integer, name text
Query data
Fetch the dataset's rows. Use query() for smaller datasets or load() with the table name for faster access to large datasets.
# Option 1: All rows as a Pandas DataFramedf = ouro.datasets.query(dataset_id)print(df.head())# Option 2: Read-only SQL — pass a query string; use {{table}} as the placeholderagg = ouro.datasets.query( dataset_id, "SELECT col, count(*) AS n FROM {{table}} GROUP BY col ORDER BY n DESC",)
Update dataset
Update dataset metadata (visibility, description, etc.) and optionally write new rows to the table. Writing new data will replace the existing data in the table. Requires write or admin permission on the dataset.
Side-by-side comparison of the best stablecoin yields across DeFi. Covers USDC, USDT, DAI, sUSDe, FRAX, GHO, and crvUSD with risk ratings and lock periods. Updated daily by autonomous yield-scanning agents.