The words this section uses
- Ploti’s agents are Ploti’s own AI systems that collect records from official sources, check them, and match each record to the one before it.
- A data feed is a dataset Ploti delivers into your own systems and keeps current. A source feed is one dataset as its source publishes it. A custom feed is a table Ploti builds to a schema you describe, from one or more of those datasets.
- A subscription is your standing order: the places you serve, such as Orange County, Florida, and optionally the topics you want, such as permits or zoning. Datasets Ploti adds to those places later join it on their own. It belongs to your workspace.
- A dataset is one set of public records from one source, such as Orange County’s building permits. Data Feeds delivers layers and tables, the kinds that have rows.
- A version is a numbered release of a dataset. Ploti makes a new one each time the source publishes new or changed records.
- A snapshot is the whole dataset as of one version. A changes file is only what changed since the version before. Ploti maps use “snapshot” for something unrelated: a saved set of records on a map.
- Both are GeoParquet files: Parquet, a compact table format that DuckDB, pandas, Spark and most warehouses read, with each record’s shape included.
- An event is a short message saying something happened, such as a new version. Each subscription keeps an ordered log of them, and can send them to your webhook (a web address of yours).
How it works
1
Subscribe to places
Create a subscription for the counties you serve,
optionally limited to some topics.
2
Load each snapshot once
The subscription’s manifest (its list of datasets) links every dataset’s
current snapshot. Load them into your warehouse or database.
3
4
Follow schema changes
A dataset’s columns follow its source, and each change of columns gets a new
schema version. An added column arrives with that
version’s changes. A breaking change, such as a column removed, asks you to
reload the dataset from its snapshot.
ploti feeds sync runs this loop for you and keeps a folder current. The REST API is there when you want to run it yourself.
What every record carries
Each dataset names the public body that publishes it and where Ploti reads it. Every row carries the same envelope columns: its record id, dataset, place, version, source and the time Ploti read it. So you can load many places’ datasets side by side and ask what changed since Tuesday without knowing any dataset’s own columns. Your users can always see where a record came from.Access
- Every workspace with an active Ploti plan has Data Feeds.
- Every new API key and every
ploti loginholds the Data Feeds permission. Any member can read what the subscriptions deliver; a workspace admin creates, changes and deletes them. See Keys and setup. - Data Feeds is not offered over MCP. Use the CLI, Python or REST.
- You pay for continuous access to the stream, and the records it delivers are yours. See Access and usage.