SFTP Connector
Sync structured data from CSV, TSV, JSON, and JSONL files on SFTP servers. Supports gzip and ZIP compression, password and RSA key authentication, and incremental sync based on file modification time.
Why Supaflow
All connectors included
No per-connector fees. Every connector is available on every plan.
Pay for compute, not rows
Credit-based pricing. No per-row charges, no MAR surprises.
One platform
Ingestion, dbt Core transformation, reverse ETL, and orchestration in a single workspace.
Capabilities
Password and RSA Key Authentication
Connect with SSH password or RSA private key (PEM format). Supports passphrase-protected keys and automatic fallback from key to password authentication. Credentials are encrypted at rest and never written to disk.
Multiple File Formats
Reads CSV, TSV, JSON, and JSONL files. Gzip-compressed files (.csv.gz, .json.gz) are decompressed transparently. ZIP archives containing CSV/TSV entries are extracted and parsed. Configurable delimiter, encoding, and header settings for CSV/TSV.
Multi-Folder Table Discovery
Files directly in the configured root folder become one table. Each immediate child folder becomes a separate table and is scanned recursively for files. Column names are unioned across files within each table.
Incremental Sync via File Modification Time
Uses SFTP file modification timestamps (st_mtime) to detect changed files. After the initial full sync, only files modified since the last sync are re-read. Per-file checkpointing tracks progress for crash recovery.
Supported Objects
File Types
CSV
Comma-separated values. Configurable delimiter (comma, pipe, semicolon, tab), encoding (UTF-8, Latin-1, Windows-1252, ASCII), and header row settings.
TSV
Tab-separated values. Tab delimiter applied automatically.
JSON
JSON files containing an array of objects or a single object. Nested values serialized as JSON strings.
JSONL / NDJSON
Newline-delimited JSON. One JSON object per line. Files with .jsonl or .ndjson extensions.
Compression
Gzip (.gz)
Gzip-compressed files decompressed transparently. Format detected from extension (e.g., .csv.gz, .json.gz).
ZIP (.zip)
ZIP archives with CSV/TSV entries extracted and parsed. Non-matching entries skipped. Protected against ZIP bombs with size and entry count limits.
How It Works
Prepare SFTP credentials
Ensure you have SSH access to the SFTP server with a username and either a password or RSA private key. The user account needs read access to the folder containing your data files.
Configure the source in Supaflow
Enter the SFTP host, port, and authentication credentials. Specify the root folder path, file type (CSV, TSV, JSON, or JSONL), and optional file pattern regex. Configure CSV-specific settings like delimiter and encoding if needed.
Test and save
Click Test & Save to verify that Supaflow can connect to the SFTP server and list the configured folder. Supaflow discovers child folders as separate tables and infers schemas from file content.
Use Cases
Automated file drop ingestion
Ingest CSV or JSON files dropped into SFTP folders by upstream systems, partners, or vendors. Supaflow detects new and modified files automatically on each sync.
Legacy system data extraction
Many legacy ERP, financial, and logistics systems export data as flat files to SFTP. Supaflow reads these exports directly without custom scripts or ETL code.
Multi-source file consolidation
Combine files from multiple sources landing in different SFTP subfolders into separate warehouse tables from a single pipeline.
Frequently Asked Questions
How are folders mapped to tables?
What happens if files in the same folder have different columns?
Are gzip and ZIP files supported?
What key types are supported?
Need a connector we don't support yet?
Build one with AI-powered Connector Dev Skills.
Learn More About the Connector SDK