FivetranComing soon
Load the live web data SpecStream finds into your Fivetran destination: every record, and one row per value with the page it was read from and when. It runs on Fivetran's Connector SDK. Whatever a SpecStream schedule refreshes shows up in the sync after it.
SpecStream for FivetranData & warehousesThe connector is in review in Fivetran's community connectors, so fivetran init --template specstream can't find it yet. It runs in your own Fivetran account today: copy connector.py and configuration.json from the specstream folder (opens in a new tab) into an empty folder and start at step 3.
What you need
- A SpecStream account. Signing up is free and takes no card.
- A Fivetran account with a destination, and the Connector SDK set up on your machine.
- A SpecStream API key. Step 1 makes it with read permission.
- 1
1. Make an API key
Open Agents & API in the SpecStream workspace and go to API keys. Choose Create API key, set read permission and a spending limit of $0, because the connector only reads.
Copy the key straight away. It appears once.
- 2
2. Start a Connector SDK project
Install the Connector SDK as Fivetran's setup guide (opens in a new tab) describes. You don't need a
requirements.txt: the connector uses onlyrequests, which the Connector SDK runtime already includes.This command sets up a project folder with
connector.pyandconfiguration.json:Terminal - 3
3. Put your key in the configuration
api_keyis the only setting, and the connector sends it as a Bearer token. A sync stops at once when the key is missing or still shows the placeholder. Keepconfiguration.jsonout of version control.Open
configuration.jsonand replace the placeholder with your key:configuration.json - 4
4. Run it on your machine
Run
fivetran debugin the project folder. The connector runs on your machine and reads your lists, so you see the sync work before anything reaches your warehouse. - 5
5. Deploy it to your destination
Deploy the project to your Fivetran destination with
fivetran deploy, passing yourconfiguration.json. The setup guide covers the options. Then set how often the connection syncs in Fivetran.The first sync reads every list the key can open. Later syncs read only lists created since the previous one.
Tables
The connector writes these tables to your destination:
| Table | Primary key | Columns |
|---|---|---|
list | id | name, project_id, imported, created_at, row_count |
record | list_id, record_id | entity_id, values, sources |
record_value | list_id, record_id, column_id | label, value, raw_value, source_url, observed_at |
Values and sources
In record, entity_id is the same wherever a company, place, person, or posting shows up. values is a JSON object of column label to value, and sources is a JSON array of the pages the record's values came from.
Each value SpecStream found also becomes a record_value row with its label, its displayed value, its raw value as JSON, the page it was read from, and when it was read. If SpecStream couldn't read a value, the cell is null.
Records of a list you imported carry the columns you provided and no source page. A combined list gets the value the list shows.
Incremental syncs
When a SpecStream schedule finds new or changed records, they arrive as a new list. The connector keeps lists_created_through in its state, the creation time of the newest list it synced, and reads only newer lists.
Lists load oldest first with a checkpoint after each one, so an interrupted sync resumes where it stopped. A list is written to list after its records, which means a list in the destination always has all of its records. A full re-sync in Fivetran clears the state and reads every list again.
Errors
If SpecStream refuses the key, the sync fails at once with a message to create a new key under Agents & API.
Rate limits, server errors, connection errors, and timeouts get up to five attempts with exponential backoff, and the connector waits as long as Retry-After asks.
Cost
The connector is read-only and free to run. It never starts a request or spends from your SpecStream balance. Your balance pays for the requests that find the data, per result that matches. Balance, quotes, and billing explains how prices work.
Disconnect
Pause or delete the connection in Fivetran. To cut access at the source, revoke the key under Agents & API; the next sync fails. Rows already in the destination stay there. Everything else SpecStream connects to is in Connect your tools. If something here doesn't work, email [email protected].
More
SpecStream for Fivetran covers what it does in Fivetran on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and only the matches come out of your balance. Billing has the details. For help, email [email protected].