SFTP Setup

Connect Catalogian to product feeds hosted on SFTP servers. Catalogian supports both SFTP (SSH-based) and FTPS (TLS-based) connections.

How SFTP sources work

When you create an SFTP source, Catalogian provisions credentials on its managed SFTP server (powered by SFTPGo). Your vendor or system pushes files to this endpoint, and Catalogian checks for new files on your configured schedule.

Alternatively, for FTPS pull sources, you provide the FTPS server credentials and Catalogian pulls a specific file path on each check.

Option A — SFTP push (managed)

Catalogian hosts the SFTP server. Your vendor pushes files to it.

1. Create the source

curl -X POST https://api.catalogian.com/v1/sources \
  -H "Authorization: Bearer $CATALOGIAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Vendor SFTP Feed",
    "type": "sftp",
    "format": "csv",
    "keyField": "sku",
    "checkIntervalMinutes": 60
  }'

2. Get the credentials

The response includes SFTP credentials your vendor needs to connect:

{
  "id": "src_01j...",
  "name": "Vendor SFTP Feed",
  "type": "sftp",
  "sftpCredentials": {
    "host": "sftp.catalogian.com",
    "port": 22,
    "username": "feed_a3f2b8c1",
    "password": "auto-generated-password"
  }
}

3. Share with your vendor

Send the host, port, username, and password to your vendor. They upload the CSV/TSV/JSONL file to the root directory. Catalogian detects the new file on the next check.

Option B — FTPS pull (your server)

If your vendor already has an FTPS server, Catalogian can pull from it directly.

curl -X POST https://api.catalogian.com/v1/sources \
  -H "Authorization: Bearer $CATALOGIAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Vendor FTPS Feed",
    "type": "ftps",
    "format": "csv",
    "keyField": "sku",
    "checkIntervalMinutes": 240,
    "ftpsHost": "ftp.vendor.com",
    "ftpsPort": 990,
    "ftpsUsername": "catalogian_user",
    "ftpsPassword": "vendor-provided-password",
    "ftpsPath": "/exports/daily/products.csv"
  }'

Credentials are encrypted. FTPS usernames and passwords are stored using AES-256-GCM encryption at rest. They are only decrypted when Catalogian initiates a connection.

Generating SSH keys

If your SFTP server requires key-based authentication, generate an Ed25519 key pair:

ssh-keygen -t ed25519 -C "catalogian-feed" -f catalogian_sftp_key
# Creates: catalogian_sftp_key (private) and catalogian_sftp_key.pub (public)

Add the public key to your SFTP server's authorized keys, then provide the private key when creating the source in Catalogian.

Troubleshooting

  • Connection refused: Verify the host, port, and that your firewall allows outbound connections on port 22 (SFTP) or 990 (FTPS).
  • Authentication failed: Double-check username and password. For SFTP push, use the exact credentials from the source creation response.
  • File not found: Ensure the file path matches exactly, including case. For push sources, the file must be in the root directory.
  • Blank key warnings: Your file has rows where the key field column is empty. Check that the column name matches your configured key field.

Need HTTP URL feeds instead? HTTP Feed Auth →