API
Last updated: September 2, 2026
Every request carries an API key in an
Authorization header. There is no OAuth flow, no session,
and no signing to implement. A key identifies your workspace, and everything it
does counts against your workspace's allowance.
Authorization: Bearer mdk_live_xxxxxxxxxxxxxxxxxxxxxxxxKeys are made in Settings, under API keys. Give the key a name that says where it runs, because that name is all you will have to go on when you are deciding which one to revoke a year from now.
Only workspace admins can create or revoke keys, and only on the Scale plan or a custom plan. On other plans the section is visible but the create form is replaced with an upgrade link.
Keys look like mdk_live_ followed by 43 random characters. The
prefix is fixed and greppable on purpose: it makes keys easy to spot in a
codebase, in a log, or in an automated secret scan. Settings shows only the
first few characters of each key, which is enough to identify one in a support
conversation without revealing it.
| Scope | Allows |
|---|---|
scrape:read | Reading jobs, usage, categories, regions, clients, and download links |
scrape:write | Submitting and cancelling scrapes |
Keys made in Settings carry both. A request that needs a scope the key does
not have returns 403 insufficient_scope, naming the missing scope.
Revoke from Settings. It takes effect on the very next request, with no deploy and no delay, and the key's usage history is kept so you can still see when it was last used.
Keys created by a workspace member are revoked automatically when that member is removed. Removing someone is a decision to end their access, and a key they made would otherwise outlive it.
Settings shows a last-used time for every key, and never used in place of it when a key has never authenticated. That is almost always the fastest way to tell that a deployment picked up the wrong environment variable, or that an integration you thought was live never shipped.
| Code | Status | Meaning |
|---|---|---|
invalid_api_key | 401 | No key, a malformed one, or one we do not recognise |
key_revoked | 401 | The key was revoked |
key_expired | 401 | The key passed its expiry |
insufficient_scope | 403 | Valid key, but it lacks the scope this call needs |
api_not_available_on_plan | 403 | The workspace is not on a plan that includes API access |
Every 401 also carries a WWW-Authenticate header pointing at
our resource metadata document, which is what lets standards-aware clients
discover how to authenticate.
Create a free MapsData account and get 500 Google Maps leads with emails every month. No card needed.
Get 500 free leads a month