If your product data already lives somewhere, like a spreadsheet someone maintains or an internal system's own database, you have three realistic ways to get it into a product feed without typing anything in by hand: import a file on your own schedule, point the feed at your database and let it pull on a recurring schedule automatically, or point it at a file your own system already writes to a server and let it pull that on a schedule instead. None of them is universally "better" - they just fit different shapes of workflow.
CSV/Excel import
You export or maintain a spreadsheet, upload it, and the feed maps its columns to product fields and applies the update. It's the lower-commitment option: no database credentials to hand over, no network access to configure, and it works identically whether your source is a real system's export or a spreadsheet someone updates by hand.
The trade-off is that it's only as current as the last upload. If nobody remembers to re-upload for three days, the feed is three days stale. Nothing syncs on its own - see the true cost of manual order entry for what that lag actually costs once orders start depending on it.
Database sync
You supply a read-only query and a column mapping once, and the feed pulls fresh rows on a schedule - anywhere from every 15 minutes to once a day, your choice - with nobody needing to remember to trigger anything. It merges rather than replaces. If a sync returns fewer rows than last time (a flaky query, a temporary connection issue), it never deletes products that didn't come back. A bad sync degrades to "stale" instead of "products silently vanished."
The trade-off is setup cost: it needs real, working read access to your database, and a query you're comfortable running on a schedule against production. For a business that already treats its own database as the source of truth, this removes a manual step permanently. For one that doesn't want to expose database credentials to a third party at all, import stays the simpler, lower-trust option.
Scheduled import (FTP/SFTP/FTPS)
This is the middle ground between the two above: no database credentials to hand over, but no manual upload either. If your own system already writes a file to a server on some schedule - an overnight export job, a nightly batch process, anything that already lands a CSV or Excel file somewhere - point Feedwyre at that exact file, on that server, and it checks for it automatically on whichever hours you pick. When the file's there, it imports exactly like a manual upload would: same Merge or Replace choice, same column mapping, same validation.
The trade-off is that it's only as fresh as your own system's own export schedule - if that job runs nightly, the feed is never more current than last night's file, the same freshness ceiling a manual CSV import has. What it removes is the human step of remembering to log in and upload it. A business whose warehouse system already produces a nightly export file, but has no appetite for exposing a database connection, is exactly who this is built for.
Choosing between them
| Situation | Better fit |
|---|---|
| Catalog changes are already tracked in a real database | Database sync |
| Source is a spreadsheet someone edits manually | CSV/Excel import |
| Freshness matters (stock, pricing) and can't wait on a person | Database sync |
| One-time catalog load, then mostly updated via the API directly | CSV/Excel import |
| Not comfortable sharing DB credentials with a third party | CSV/Excel import, or scheduled import if a file already gets written somewhere |
| Your own system already exports a file to a server on a schedule, but no DB access to offer | Scheduled import |
| Nobody should ever have to remember to click upload again | Database sync or scheduled import - either removes the manual step |
Nothing stops using more than one of these at different points, or even at the same time on different feeds: import a spreadsheet once to seed a catalog, move to database sync once the same data is available from a live system, or set up scheduled import the day your warehouse system starts producing its own nightly export file. The feed's Query and Manage APIs behave identically either way; how the rows arrived isn't visible to anything consuming the feed. If your source of truth is actually a PIM rather than a plain database, see PIM vs. Product Feed API for how the two fit together instead of competing.
How Feedwyre handles this
Database Sync connects to your own SQL Server, MySQL, or PostgreSQL database with a read-only query and column mapping, running on whichever interval fits (15 minutes up to daily), with a safety check that refuses to let a sync target resolve to an internal network address by mistake. Scheduled Import connects to your own FTP, SFTP, or FTPS server instead, checking for one exact filename on whichever hours you pick, and is available on every plan alongside Database Sync's Business-and-above availability. CSV/Excel import is available on every plan with no setup beyond mapping columns once. All three write through the same feed, so nothing downstream needs to know which one you're using. Full setup steps for each are in the docs, under Database sync and Scheduled import.
Try either one against a real catalog
Import a spreadsheet in minutes, or connect a database and let it stay current on its own.
Start free trial