dogcrud is a command line application for saving and restoring Datadog resources: Dashboards, Monitors, Log Pipelines, SLOs, metric configuration, and a few others.
There is frequently a large amount of hand-edited configuration in Datadog that has no version history. dogcrud downloads all of it in one command, and restores individual resources as needed.
If you already manage your Datadog configuration with the Terraform provider, keep doing that. In practice though, a lot of Datadog configuration gets hand-edited in the web UI and never makes it into Terraform. dogcrud is for that configuration. It gives you a snapshot you can commit and restore from without first adopting every resource into IaC.
uv tool install dogcrud
dogcrud authenticates with a Datadog API key and application key, which it reads from DD_API_KEY and DD_APP_KEY.
export DD_API_KEY=...
export DD_APP_KEY=...
mkdir saved
dogcrud save all
Each resource is written to a JSON file under the data directory (saved by default), named after its Datadog REST path and ID, like saved/v1/dashboard/abc-def-ghi.json. Commit that directory to git and you have the version history Datadog doesn't give you.
dogcrud restore takes a file and works out the resource type and ID from its path.
dogcrud restore saved/v1/dashboard/abc-def-ghi.json
Since the saved resources are plain JSON, you can also use dogcrud to refactor your Datadog entities by:
dogcrud save all.Last updated August 30, 2026