Pinax
    Iceberg REST · Delta Lake · Parquet
    Resources & endpoints

    Connect with Iceberg

    Let DuckDB or PyIceberg discover tables through the Iceberg REST catalog instead of naming S3 paths yourself, or call the catalog directly with the REST example. The catalog is free and needs no API key. The table files are still read over S3 with your Pinax Project ID and API key, exactly as in Connect with S3.

    A namespace can exist before its tables are published. Run the listing step first and query only a table it returns; an unlisted table fails with a not-found error. Until your table is listed, read it with Connect with S3.

    Iceberg connection settings
    Catalog URIhttps://iceberg.s3.pinax.network
    Catalog authenticationNone
    S3 endpointhttps://datasets.s3.pinax.network
    Regionus-east-1
    AddressingPath style
    S3 credentialsProject ID as access key ID, API key as secret access key

    Loading your project…

    DuckDB example

    DuckDB 2.0 or newer, iceberg and httpfs extensions
    1-- DuckDB 2.0 or newer.
    2INSTALL iceberg; LOAD iceberg;
    3INSTALL httpfs; LOAD httpfs;
    4CREATE SECRET pinax_s3 (
    5 TYPE s3,
    6 KEY_ID '<your Pinax Project ID>',
    7 SECRET '<your Pinax API key>',
    8 REGION 'us-east-1',
    9 ENDPOINT 'datasets.s3.pinax.network',
    10 URL_STYLE 'path',
    11 USE_SSL true
    12);
    13
    14-- The catalog is anonymous; S3 reads use the secret above.
    15ATTACH '' AS pinax (
    16 TYPE iceberg,
    17 URI 'https://iceberg.s3.pinax.network',
    18 AUTHORIZATION_TYPE 'none',
    19 ACCESS_DELEGATION_MODE 'none',
    20 READ_ONLY
    21);
    22SHOW ALL TABLES;
    23
    24-- Query a table that SHOW ALL TABLES lists. S3 reads bill your project.
    25SELECT block_num, block_id, timestamp
    26FROM pinax.eth.blocks
    27WHERE date = DATE '2020-01-01'
    28ORDER BY block_num
    29LIMIT 10;

    The catalog never receives or returns S3 credentials. Each catalog request is listed in the Iceberg REST API reference in the sidebar.