| name | datadog-logs |
| description | Search Datadog logs via API - query syntax, storage tiers (indexes, flex, online-archives), pagination. Use when searching logs or using the dd-cli search-logs command. |
Datadog Logs API
CLI Command
dd-cli search-logs 'env:prod service:my-service error'
dd-cli search-logs 'env:prod error' --from now-1h --to now
dd-cli search-logs 'env:prod' --storage-tier flex --from now-30d
dd-cli search-logs 'env:prod service:(service-a OR service-b) order-12345' --storage-tier flex
dd-cli search-logs 'env:prod' --all-pages --limit 100
Query Syntax
The query syntax matches Datadog's Log Explorer. Pass it directly to --query:
env:prod status:error
service:(api OR web) AND status:error
"connection timeout"
*:order-12345
env:prod -status:info
Storage Tiers
| Tier | Flag | Use case |
|---|
indexes | (default) | Recent, indexed logs |
flex | --storage-tier flex | Long-retention logs (30d+) |
online-archives | --storage-tier online-archives | Archived logs |
Important: If you don't see results, check if logs are in Flex tier. The Datadog UI has a toggle "Include Flex Logs" - this CLI flag is the equivalent.
Options
| Option | Default | Description |
|---|
--from | now-15m | Start time (e.g., now-1h, now-7d) |
--to | now | End time |
--limit | 100 | Max logs per page |
--storage-tier | indexes | Storage tier to search |
--all-pages | false | Fetch up to 50 pages |
Common Patterns
dd-cli search-logs 'env:prod service:(svc-a OR svc-b) aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' \
--storage-tier flex --from now-30d
dd-cli search-logs 'env:prod status:error' --from now-1h
dd-cli search-logs 'env:prod host:web-01 status:error'
API Details
- Endpoint:
POST /api/v2/logs/events/search
- Pagination: Cursor-based (
--all-pages handles this)
- Permission: Requires
logs_read_data on the app key
curl Example
curl -X POST "https://api.$DD_SITE/api/v2/logs/events/search" \
-H "DD-API-KEY: $DD_API_KEY" \
-H "DD-APPLICATION-KEY: $DD_APP_KEY" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"query": "env:prod status:error",
"from": "now-1h",
"to": "now",
"storage_tier": "flex"
},
"sort": "-timestamp",
"page": {"limit": 100}
}'