Make an API key
A workspace owner or admin makes keys in Ploti under Settings, then API keys. A key starts withpmcp_, and Ploti shows it once. Keep it where you keep other secrets, such as an environment variable named PLOTI_API_KEY, and never paste it into a chat with an assistant.
A key acts as the workspace member who made it: their coverage areas (the counties the workspace pays for), their credits and their access. It stops working when that member leaves the workspace. Make the key for a long-running integration from an account that will stay, such as a shared service member.
Coverage, plan and credits
Three things about your workspace decide what any key can reach:- Coverage areas are the US counties your workspace pays for. A county or city dataset opens when its county is in your coverage, a statewide dataset when your coverage has a county in its state, and a national dataset with any coverage at all. A dataset outside them comes back
outside_coverage, or marked locked in a search. An admin adds counties in Ploti; Coverage areas explains how and what they cost. - Your plan is the workspace’s paid Ploti subscription. Every call needs an active plan (otherwise
no_subscription), and a dataset the plan doesn’t include comes backlocked. It is separate from a Data Feeds subscription. - Credits pay for collecting data Ploti doesn’t hold yet, through research requests. Reading and downloading what Ploti already holds spends none. The balance is in Ploti’s settings.
What a key may do
Each key holds only the permissions it was given. A call that needs a permission the key lacks is refused with403 insufficient_scope, and the message says which one to add.
A new key gets every permission, Data Feeds included. So does a sign-in through
ploti login, and so does an AI assistant that signs in itself, though assistants are offered no Data Feeds tools. Any member can read and download what the workspace’s subscriptions deliver. Creating, changing and deleting a subscription takes a workspace admin.
A key for a dashboard can read without being able to spend credits. A key for a service that watches permits needs read and webhooks.
Set up an interface
- CLI
- Python
- REST
- MCP
The CLI is the On your own machine,
ploti command. It needs Node.js 20 or later, and 22.15 or later to trim, merge or convert a download.ploti login prints a code and opens Ploti in your browser. Approve the code and pick a workspace, and the CLI keeps the login. ploti logout signs out. The login is stored:- on macOS, in the Keychain
- on Linux, in the Secret Service, or in
~/.config/ploti/credentials.json, readable only by you, when none is running - on Windows, in
.config\ploti\credentials.jsonin your user profile
PLOTI_API_KEY instead. PLOTI_API_URL points the CLI at another API address.Commands follow one pattern, ploti <resource> <verb>, such as ploti datasets rows. ploti commands lists them all, and ploti help datasets rows shows one command’s fields.- Fields are flags named after the API’s fields, in kebab-case (
--section-id). Required ones can also be given in order. - A list takes commas, and an object takes JSON.
--json '{...}'passes a whole request, and--rawprints the JSON reply.
ploti skills install <folder> writes Ploti’s skills (short instruction files agents read) into the folder your agent reads them from.A first call
The example on the right lists the places your workspace covers, each with how many datasets it holds:- each county
- each state that has a covered county
- each state’s covered counties as one place (
fl-counties) us, for national records
--state FL keeps Florida’s places, which leaves out us. Every other page uses these place ids, or plain names such as "Orange County, FL", to narrow what it reads.