The API Report CardAPI Index
dbt Labs

dbt Labs API

Data Transformation / Analytics Engineering · getdbt.com

dbt Cloud documents three API surfaces: an Administrative REST API, a GraphQL Discovery API for metadata and lineage, and Semantic Layer APIs with a JDBC driver. All are gated to paid plans; the free Developer tier gets no API access. Rate limits are unpublished and discovered via 429s.

Last verified: July 2026Software & Data Tools
API GRADE
C
VERIFIED JUL 2026

SCORECARD

ExistenceGOODThree documented surfaces: an Administrative REST API, a GraphQL Discovery API, and Semantic Layer GraphQL plus a JDBC driver.
AccessMIXEDAll three APIs require Starter or Enterprise plans; the free Developer tier gets no API access at all.
CoverageMIXEDAccounts, jobs, runs, metadata, lineage, and metrics are reachable, but large metadata pulls hit pagination and timeout walls.
AuthMIXEDPersonal access tokens or service tokens; service tokens scope per account, not per project, so projects share one permission pool.
Docs & DXMIXEDDocs at docs.getdbt.com are thorough with a Terraform provider, but SDKs are community-maintained and Discovery is GraphQL only.
StabilityMIXEDPer-endpoint limits are unpublished; 429s carry Retry-After, and Enterprise customers learn their limits from support.
Supergood: dbt Labs has an API, with gaps. We cover what it's missing: stable endpoints, normalized JSON, managed auth.

Frequently asked questions

dbt Labs scores C on the API Report Card. dbt Cloud documents three API surfaces: an Administrative REST API, a GraphQL Discovery API for metadata and lineage, and Semantic Layer APIs with a JDBC driver. All are gated to paid plans; the free Developer tier gets no API access. Rate limits are unpublished and discovered via 429s.

Tried to integrate with dbt Labs?
SOURCES
Per-endpoint rate limits are not publicly documented; customers have to contact dbt Labs support to learn their Enterprise-specific limits and implement custom exponential backoff against 429s stitchflow.com
All three API surfaces (Administrative, Discovery, Semantic Layer) are gated to Starter+ plans, Developer (free) tier customers building catalog/observability integrations have to upgrade just to get API access at all docs.getdbt.com
dbt Cloud doesn't publish a Retry-After contract or a public quota dashboard, so integrators (Atlan, Monte Carlo, internal portals) discover throttling reactively when downstream catalogs/dashboards go stale stitchflow.com
Discovery API is GraphQL-only, REST-only integration toolchains have to add a GraphQL client, and large metadata pulls (model + lineage + run history across thousands of models) routinely hit pagination/timeout walls docs.getdbt.com
Semantic Layer JDBC driver is the only path for BI tools that don't speak GraphQL, driver versioning and warehouse-side credential management add operational friction docs.getdbt.com
Service account tokens are scoped per-account, not per-project, customers running multiple isolated dbt projects on one account share a single token's permission surface and rate-limit pool stitchflow.com
dbt-fusion + BigQuery currently throws 403 rateLimitExceeded during seed materialization because Fusion starts more BigQuery jobs concurrently than BigQuery's per-method rate limits allow, and the build fails immediately with no retry github.com
dbt Core + BigQuery has a long-standing open issue (#2795, originally filed against fishtown-analytics/dbt) requesting automatic retry on BigQuery rateLimitExceeded responses, customers still have to wrap dbt runs in their own retry orchestration github.com
Successful-model-run quotas are enforced at the account level and counted against the monthly plan, large CI matrices, dev environment refreshes, and webhook-triggered partial runs all consume the same bucket without an obvious per-environment breakdown in the billing UI mammoth.io
Webhook delivery doesn't have a published SLA; downstream systems (Slack/PagerDuty/internal dashboards) that depend on job-run notifications need their own polling fallback against the Administrative API runs endpoint docs.getdbt.com
dbt Cloud pricing is harder to predict than advertised, per-developer licensing + job run consumption + warehouse compute create a stack where teams routinely blow past the published plan tier within weeks mammoth.io
Dev environment refreshes count against monthly successful-model quota; one data team lead reported a $300/month plan hit overages within two weeks because they didn't realize dev runs counted mammoth.io
Error messages on failed runs are vague when one upstream change cascades, users report they can't easily tell which model change triggered downstream failures g2.com
Lineage visualization in dbt Cloud is cumbersome at scale; deep dependency graphs become hard to navigate visually g2.com
Workflow can feel inflexible when customizing how tests or models behave in complex projects; heavy reliance on CLI + YAML/JSON config files g2.com
dbt doesn't handle ingestion or real-time use cases, so teams must add Fivetran/Airbyte/Estuary/etc. and Kafka/Materialize to complete a pipeline, adding cost and integration surface g2.com
Beta and new features roll out slowly to dbt Cloud customers; long gaps between announcement and GA g2.com
Fivetran + dbt Labs merger (Oct 2025) concentrates ingestion + transformation pricing leverage at one vendor; Fivetran already raised some customer prices 4-8x in March 2025 and 2026-2027 renewals are expected to reveal the combined bundle datacoves.com
Many teams end up using dbt Core with external orchestration (Airflow/Dagster) anyway, making dbt Cloud's scheduler less valuable for what they pay for it mammoth.io
Teams initially over-purchase seats assuming every analyst needs one, then realize only SQL-writing engineers actually need paid dbt Cloud seats mammoth.io
Reusable code (macros, Jinja) can be confusing for newer team members; branch-switching and state management in dbt Cloud is frustrating in larger projects g2.com
Documentation is generally good but obscure issues require searching the dbt Slack and Stack Overflow rather than official docs g2.com