AWS Cost Explorer
Query AWS costs and usage details with flexible granularity - from service-level overview to detailed usage type breakdown.
Capabilities
-
Query daily AWS costs by service (e.g., EC2, S3, OpenSearch, DocumentDB)
-
Drill down to usage type details for specific services (e.g., instance types, storage, data transfer)
-
Filter results by minimum cost threshold
-
Support both relative dates (days ago) and absolute dates (YYYY-MM-DD)
-
Output in human-readable table or JSON format
Usage
Quick Commands
To query costs, use the bundled script at scripts/cost_query.py :
Query costs from 2 days ago (default) by service
python3 <skill-path>/scripts/cost_query.py
Query yesterday's costs, show items > $5
python3 <skill-path>/scripts/cost_query.py --days-ago 1 --min-cost 5
Query specific date
python3 <skill-path>/scripts/cost_query.py --date 2026-01-15
Query specific service's usage breakdown
python3 <skill-path>/scripts/cost_query.py --service "Amazon OpenSearch Service" --min-cost 1
Query all services with usage type details
python3 <skill-path>/scripts/cost_query.py --detailed --min-cost 5
Output as JSON
python3 <skill-path>/scripts/cost_query.py --json --min-cost 5
Script Options
Option Short Description
--days-ago
-d
Query N days ago (default: 2, i.e., day before yesterday)
--date
Query specific date (YYYY-MM-DD format)
--min-cost
-m
Minimum cost threshold to display (default: 0)
--service
-s
Query usage type breakdown for a specific service
--detailed
Show all services with usage type breakdown
--json
-j
Output in JSON format
Common Service Names
When using --service , use the exact AWS service names:
Common Name AWS Service Name
OpenSearch Amazon OpenSearch Service
DocumentDB/MongoDB Amazon DocumentDB (with MongoDB compatibility)
EC2 Compute Amazon Elastic Compute Cloud - Compute
EC2 Other (EBS, NAT) EC2 - Other
EFS Amazon Elastic File System
S3 Amazon Simple Storage Service
RDS Amazon Relational Database Service
EKS Amazon Elastic Container Service for Kubernetes
VPC Amazon Virtual Private Cloud
Bedrock Amazon Bedrock
Lambda AWS Lambda
CloudWatch AmazonCloudWatch
Understanding Usage Types
Common usage type patterns:
Pattern Meaning
BoxUsage:*
EC2 instance hours (e.g., BoxUsage:m7i.large )
ESInstance:*
OpenSearch instance hours
EBS:VolumeUsage.*
EBS storage (e.g., EBS:VolumeUsage.gp3 )
TimedStorage-ByteHrs
S3/EFS storage capacity
DataTransfer-*
Data transfer costs
NatGateway-*
NAT Gateway costs
VpcEndpoint-*
VPC Endpoint costs
*-input-tokens / *-output-tokens
Bedrock token usage
Elastic*Usage
DocumentDB Elastic costs
Prerequisites
-
AWS CLI configured with appropriate credentials
-
IAM permissions for ce:GetCostAndUsage
Example Workflow
First, get service-level overview:
python3 <skill-path>/scripts/cost_query.py --min-cost 5
Identify high-cost services, then drill down:
python3 <skill-path>/scripts/cost_query.py --service "Amazon OpenSearch Service" --min-cost 1
For comprehensive analysis, use detailed mode:
python3 <skill-path>/scripts/cost_query.py --detailed --min-cost 5