Singer is a free, open-source ETL specification with taps and targets for data integration. See how it works, key features, alternatives, and pricing.
Singer is an open standard, not a company or hosted product. It describes how a data extraction script (a tap) and a data loading script (a target) should communicate so they can be freely mixed and matched to build a data pipeline from virtually any source to virtually any destination.
The project was open-sourced by Stitch in 2017 as a way to let the community build and share connectors instead of every team reinventing basic integrations. Because Singer applications talk to each other in plain JSON over stdout and stdin, a tap or target can be written in any programming language, though the vast majority of the ecosystem is Python.
Singer's lightweight, unopinionated design is also its biggest limitation: it provides no built-in scheduling, orchestration, monitoring, or UI. Teams typically pair Singer with an orchestrator such as Meltano, Airflow, or Dagster to run taps and targets on a schedule and monitor for failures.
At its core, Singer standardizes three message types passed between taps and targets: SCHEMA messages describe the structure of upcoming records, RECORD messages carry the actual row-level data, and STATE messages track replication progress so incremental syncs can resume where they left off without reprocessing an entire dataset.
The open connector ecosystem is Singer's biggest practical asset. Community-maintained taps and targets exist for hundreds of popular systems, including relational databases (MySQL, PostgreSQL, SQL Server), SaaS platforms (Salesforce, HubSpot, Facebook Ads, Google Sheets), and cloud warehouses or storage layers (Snowflake, BigQuery, Redshift, Amazon S3).
Because the specification is intentionally minimal, taps and targets are simple, composable command-line applications rather than complex plugins. This makes them easy to fork, debug, and extend, and it lets engineers write custom connectors for internal or niche systems that lack an off-the-shelf integration.
Singer itself is completely free and open source under a permissive license; there is no paid tier, subscription, or usage cap for the specification or the community connectors.
Costs come from how a team chooses to run Singer, not from Singer itself: self-hosting requires compute for running taps and targets plus engineering time to maintain connectors, while pairing Singer with an orchestration layer like Meltano can be run for free (self-hosted) or through a paid managed offering depending on the vendor chosen.
Because Stitch (Singer's original sponsor) is now part of Qlik/Talend's commercial product line, some Singer-compatible pipelines can also be run through Stitch's own managed, paid ELT service, though that is a separate commercial product from the open-source Singer specification itself.
Singer is used to build custom or lightweight ETL and ELT data pipelines that move data from a source system into a destination such as a database or data warehouse, using standardized 'tap' and 'target' scripts.
Yes. Singer is a completely free, open-source specification with no license fees. Costs only arise from the infrastructure and engineering time used to run it.
Singer was created and open-sourced by Stitch, a data pipeline company, in 2017. Stitch was later acquired by Talend in 2018, and Talend was subsequently acquired by Qlik.
A tap is a script that connects to a data source, such as a database or API, and outputs the data as a stream of JSON records following the Singer specification.
A target is a script that receives the JSON data stream produced by a tap and loads it into a destination system, such as a data warehouse or file.
No. Singer only defines the tap-and-target communication protocol. Teams typically pair it with an orchestrator such as Meltano, Airflow, or Dagster for scheduling and monitoring.
Meltano is an open-source data integration platform built directly on top of the Singer specification, and it now serves as the primary hub for discovering and running Singer-compatible connectors.
Yes. Because the specification is open and language-agnostic, engineers can write custom taps or targets in any language to support systems that lack an existing connector.