Steampipe — Query Cloud APIs Live with SQL
Steampipe turns 140+ cloud services, SaaS APIs, and local data sources into PostgreSQL foreign tables so operators can audit, benchmark, and graph their infrastructure with plain SQL.
What it is
Steampipe is an open-source tool that exposes cloud and SaaS APIs as PostgreSQL foreign tables using a custom Foreign Data Wrapper. Instead of stitching together AWS CLI, kubectl, and GitHub scripts, operators run SQL queries and joins across providers to answer audit and inventory questions in seconds.
Steampipe targets cloud engineers, security teams, and SREs who need to query infrastructure state across multiple providers without writing custom API integration code.
How it saves time or tokens
Steampipe replaces dozens of provider-specific CLI commands and scripts with a single SQL interface. Cross-provider queries that would require custom glue code become simple SQL joins. The built-in Mods provide pre-packaged benchmark queries for CIS, PCI, and HIPAA compliance, saving weeks of audit preparation. Response caching keeps queries cheap and rate-limit friendly.
How to use
- Install Steampipe:
brew install turbot/tap/steampipe
- Add plugins for your cloud providers:
steampipe plugin install aws github kubernetes
- Run ad-hoc queries:
steampipe query 'select name, region from aws_s3_bucket where versioning_enabled = false'
- Or use the interactive shell:
steampipe query
Example
Cross-provider audit query joining AWS and GitHub data:
-- Find S3 buckets without encryption
SELECT name, region, server_side_encryption_configuration
FROM aws_s3_bucket
WHERE server_side_encryption_configuration IS NULL;
-- Cross-provider: find GitHub repos with AWS credentials in secrets
SELECT r.full_name, s.name as secret_name
FROM github_repository r
JOIN github_actions_secret s ON r.full_name = s.repository_full_name
WHERE s.name LIKE '%AWS%';
Running a CIS benchmark:
steampipe check benchmark.cis_v150
Related on TokRepo
- Database tools — SQL-based query and data tools
- Security tools — cloud security and compliance auditing
Common pitfalls
- Queries without WHERE clauses on large AWS accounts trigger hundreds of API calls; always filter by region or specific resource attributes
- Plugin authentication reuses existing cloud credentials (AWS profiles, kubeconfig); ensure your local credentials have read access to the resources you query
- The Postgres wire protocol mode (port 9193) is useful for BI tool integration but requires running
steampipe service startas a background process
Frequently Asked Questions
Steampipe has plugins for over 140 services including AWS, Azure, GCP, GitHub, Kubernetes, Slack, Jira, and many more. Each plugin maps API responses to PostgreSQL tables. The plugin hub at hub.steampipe.io lists all available integrations.
Yes. Steampipe caches responses in memory with a configurable TTL (default 5 minutes). This prevents redundant API calls when running multiple queries against the same data and helps stay within API rate limits.
Yes. Run steampipe service start to expose a PostgreSQL-compatible endpoint on port 9193. Tools like Metabase, Grafana, Superset, and any PostgreSQL client can connect and run queries directly.
Mods are packaged collections of SQL queries and benchmarks, often aligned with compliance frameworks like CIS, PCI DSS, and HIPAA. You install them with steampipe mod install and run them with steampipe check. They provide ready-made security and compliance audits.
Yes. Steampipe is open source under the AGPLv3 license. The CLI, plugins, and Mods are free. Turbot (the company behind Steampipe) offers Turbot Pipes, a hosted service for team collaboration and scheduled benchmarks.
Citations (3)
- Steampipe GitHub— Steampipe queries cloud APIs as PostgreSQL tables
- Steampipe Hub— 140+ plugins for cloud services and SaaS APIs
- Steampipe Mods— CIS benchmark compliance checks
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.