> ## Documentation Index
> Fetch the complete documentation index at: https://terrascout.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ploti for platforms

> Public records piped from the source into your own systems. No multi-year contracts, no deletion commitments.

<Info>
  Data Feeds is in early access. [Contact us](mailto:support@ploti.ai) to set up
  a subscription; the API and sync client described here open to early access
  customers first.
</Info>

Skip the data vendor and plug into the source. Ploti runs the agents and infrastructure that collect public records from county and city sources (permits, zoning, code enforcement, planning decisions, sales and more) and pipe them into your own systems as each source publishes. There are no multi-year contracts and no deletion commitments: you pay for continuous access to the stream, and the records it delivers are yours.

## How it works

<Steps>
  <Step title="Subscribe to places">
    Create a [subscription](/docs/platforms/delivery) for the counties you serve,
    optionally limited to some topics. Datasets Ploti adds to those counties
    later join it on their own.
  </Step>

  <Step title="Load each snapshot once">
    The subscription's manifest links every dataset's current snapshot as
    GeoParquet or CSV. Load them into your warehouse or database.
  </Step>

  <Step title="Apply changes as they publish">
    When a dataset has a new version, Ploti sends a `dataset.updated`
    [event](/docs/platforms/events) and publishes a changes file: the records added,
    changed and removed. Apply it and your copy matches the source.
  </Step>

  <Step title="Follow schema changes">
    Every dataset has a [schema version](/docs/platforms/schemas). Additive changes
    are safe to apply on their own; breaking ones arrive as
    `dataset.schema_changed` with exactly what changed.
  </Step>
</Steps>

## What you get

<CardGroup cols={2}>
  <Card title="Snapshots and changes" icon="layer-group" href="/docs/platforms/versions-and-changes">
    A full snapshot per version, plus the changes from the version before it,
    with stable record ids.
  </Card>

  <Card title="Schema versions" icon="code-branch" href="/docs/platforms/schemas">
    `MAJOR.MINOR` per dataset, with column-level diffs, so your pipeline knows
    when to stop and look.
  </Card>

  <Card title="Events and webhooks" icon="bolt" href="/docs/platforms/events">
    An ordered, replayable event log per subscription, also sent to your
    webhooks.
  </Card>

  <Card title="Delivery your way" icon="truck" href="/docs/platforms/delivery">
    Pull files with signed links, or have Ploti write them into your own S3 or
    Google Cloud Storage bucket.
  </Card>
</CardGroup>

## Every record names its source

Each dataset names the public body that publishes it and where Ploti reads it, and every row carries the version and time it was read. Your users can always see where a record came from.

## Datasets keep their source's shape

A dataset's columns follow the source that publishes it, so two counties' permit tables can differ. Every row also carries the same [envelope columns](/docs/platforms/datasets#envelope-columns) (record id, place, version, source and time read) so you can work across datasets without knowing their columns in advance.

## You pay for the stream

Ploti is the infrastructure that pipes public records from many municipal and county sources into one stream. A subscription pays for continuous access to that stream. The records it delivers are yours, and if you cancel, delivery stops and you keep what you received. See [Access and pricing](/docs/platforms/access-and-pricing).

<Card title="Start with the quickstart" icon="rocket" href="/docs/platforms/quickstart">
  Subscribe, load and stay current in a few calls.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.