Improvado is a marketing intelligence and AI-agent platform that connects, extracts, transforms, and loads data from 876+ marketing, advertising, sales, and analytics sources into governed data pipelines, warehouses, and BI tools. Its Embedded API v3 (base https://embedded.improvado.io, all paths under /api/v3/) gives agencies and platforms programmatic, workspace-scoped control over data sources, connections and accounts, extraction templates and extracts, destinations, data tables, loads, automated recipes, custom roles, and webhook endpoints for load, transformation, and extraction lifecycle events. Authentication is HTTP Basic for workspace management and short-lived Bearer tokens for workspace-scoped resources. The platform maintains a SOC 2 / HIPAA / GDPR trust center, a public status page, a dated API changelog, and a responsible-disclosure security program.
Improvado publishes 18 API contracts indexed on the APIs.io network, including Accounts API, Authentication API, Automated Recipes API, and 15 more. Tagged areas include Company, Marketing, Marketing Intelligence, Marketing Analytics, and Data Pipeline.
The Improvado catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.
Improvado’s developer surface includes documentation, API reference, getting-started guide, engineering blog, support, pricing, signup flow, and 38 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/improvado/"><img src="https://apis.io/badge/improvado/card.svg" alt="Improvado on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Documented Reversibility+6 pts — a reversal operation in the contract, graded up when a window is documented too
Pagination+5 pts — share of collection GETs (an array, or one wrapped in data/items/results ...) that declare a page/limit/offset/cursor parameter, a Link header or a next/cursor field; na with no collection GETs
Agentic Commerce Well-Known Document+5 pts — a parsing /.well-known/ucp.json or acp.json declaring a version and at least one service, OR (0.27) a live x402 payment challenge from _data/x402-adoption.json — `self` when its endpoints are on the provider's own domain, `platform` when they are on a vendor's
3 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
Workspace-scoped REST API for embedding Improvado's data extraction, transformation, and load pipeline into agency and platform products. Manages data sources, connections, acco...
Hosted, remote Model Context Protocol server exposing Improvado's marketing data platform to any MCP client (Claude, ChatGPT/Codex, Gemini CLI, Antigravity, Cursor) as 83 publis...
Manage connection accounts from which data is extracted. Accounts represent specific accounts within a data source platform. Each account is associated with a connection and can...
Authentication and authorization endpoints for the Improvado Embedded API. Authentication supports Basic Auth (username:password) for initial token creation, then Bearer tokens ...
Deploy and operate automated recipes through the v3.1 API. An automated recipe turns a template into a SQL view in your workspace destination, built from the extractions the tem...
Manage connections to data sources for authentication and data access. Connections handle authentication with data sources and maintain the credentials needed for data extractio...
Browse and configure available data sources for extraction. Data sources represent the marketing platforms, advertising networks, analytics tools, and other systems from which I...
Manage data tables where extracted data is stored and organized. Data tables serve as centralized storage for extracted data. All extractions created from the same extract templ...
Configure and manage connections to destinations for data loading. Destination connections define how and where data should be loaded within a destination system. They include: ...
Manage available destination options where Improvado can load your data. Destinations represent the target systems where extracted and transformed data is loaded, including: - D...
Work with predefined templates that define what data to extract from a data source. Extract templates are blueprints that specify: - Available fields from a data source - Defaul...
Create and manage data extraction orders that pull data from connected sources. An extract represents a configured instance of data extraction with specific settings: - Which co...
Configure and manage data loading from data tables to destinations. Load orders define the rules and settings for how data moves from Improvado's data tables to your destination...
Work with pre-built recipes that automate common data pipeline workflows. Recipes are templated workflows that combine multiple API operations into reusable patterns. They simpl...
Manage custom workspace roles and inspect the available permission catalog. Each agency ships with a fixed set of system roles (Workspace Admin, Editor, Viewer, Data Manager, Da...
Manage webhook endpoints that receive event notifications from Improvado. Webhooks let your application react to platform events (extraction completion, load completion, etc.) i...
Manage workspaces that provide isolated environments for organizing resources. Workspaces are fundamental to multi-tenancy in Improvado's Embedded API. Each workspace provides c...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: improvado
name: Improvado
description: Improvado is a marketing intelligence and AI-agent platform that connects, extracts, transforms, and loads data
from 876+ marketing, advertising, sales, and analytics sources into governed data pipelines, warehouses, and BI tools. Its
Embedded API v3 (base https://embedded.improvado.io, all paths under /api/v3/) gives agencies and platforms programmatic,
workspace-scoped control over data sources, connections and accounts, extraction templates and extracts, destinations, data
tables, loads, automated recipes, custom roles, and webhook endpoints for load, transformation, and extraction lifecycle
events. Authentication is HTTP Basic for workspace management and short-lived Bearer tokens for workspace-scoped resources.
The platform maintains a SOC 2 / HIPAA / GDPR trust center, a public status page, a dated API changelog, and a responsible-disclosure
security program.
url: https://raw.githubusercontent.com/api-evangelist/improvado/refs/heads/main/apis.yml
deliveryModel:
model: saas
license_evidence:
not_product:
- tekliner/improvado-agentic-frameworks-and-skills
open_source: unknown
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: low
source:
- openapi
- pricing
- repository-not-product
generated: '2026-09-25'
method: derived
accessModel:
pricing: paid
onboarding: unknown
trial: false
try_now: false
public: false
label: Paid
confidence: high
source:
- plans
- authentication
- scopes
- rate-limits
- security
generated: '2026-11-06'
method: derived
image: https://improvado.io/-/astro/logo.png
x-type: company
x-source: vc-portfolio
x-backed-by:
- bullpen-capital
x-tier: enriched
x-tier-reason: three published API surfaces (REST, MCP, public agent endpoint) with OpenAPI, OAuth discovery and provider-published
agent skills
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-10-06'
x-docs-platform: zudoku
x-docs-platform-confidence: medium
x-docs-platform-checked: 2026-10-03
tags:
- Company
- Marketing
- Marketing Intelligence
- Marketing Analytics
- Data Pipeline
- ETL
- Advertising Data
- Business Intelligence
- Data Integration
- AI Agents
- MCP
- Agent Readiness
apis:
- name: Improvado Embedded API v3
description: Workspace-scoped REST API for embedding Improvado's data extraction, transformation, and load pipeline into
agency and platform products. Manages data sources, connections, accounts, extraction templates, extracts, destinations,
data tables, loads, automated recipes, custom roles, and webhook endpoints. Basic auth for workspace management; 30-minute
Bearer tokens for workspace-scoped resources.
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Marketing
- Data Pipeline
- ETL
properties:
- type: Documentation
url: https://developers.improvado.io/api
- type: APIReference
url: https://developers.improvado.io/api
- type: GettingStarted
url: https://developers.improvado.io/introduction
- type: Authentication
url: authentication/improvado-authentication.yml
- type: Conventions
url: conventions/improvado-conventions.yml
- type: Idempotency
url: conventions/improvado-conventions.yml
- type: Webhooks
url: asyncapi/improvado-webhooks.yml
- type: ChangeLog
url: changelog/improvado-changelog.yml
- type: Lifecycle
url: lifecycle/improvado-lifecycle.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- type: DataModel
url: data-model/improvado-data-model.yml
- type: MCPServer
url: mcp/improvado-mcp.yml
- type: AgentSkill
url: skills/_index.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: Components
url: components/improvado-components.yml
- name: Improvado Customer MCP
description: 'Hosted, remote Model Context Protocol server exposing Improvado''s marketing data platform to any MCP client
(Claude, ChatGPT/Codex, Gemini CLI, Antigravity, Cursor) as 83 published tools across twelve categories: warehouse SQL,
live Discovery API passthrough to 1,000+ upstream ad and analytics platforms, ETL extract/load/run management, custom
Temporal pipelines, Marketing Data Governance rules, AI recipes and notebooks, dashboards, documents and workspace control.
JSON-RPC 2.0 over HTTP, gated by OAuth 2.0 (authorization code + PKCE, scope mcp:customer) against the customer''s existing
Improvado account, with workspace-scoped 15-minute sessions. The endpoint host is the customer''s own tenant domain. Metered
and sold: MCP actions per week is a priced quota on every plan tier including the free one.'
humanURL: https://improvado.io/docs-section-topic/improvado-mcp
baseURL: https://report.improvado.io
tags:
- MCP
- AI Agents
- Marketing Data
properties:
- type: MCPServer
url: mcp/improvado-mcp.yml
- type: ToolCrosswalk
url: mcp/improvado-tool-crosswalk.yml
- type: Documentation
url: https://improvado.io/docs-section-topic/improvado-mcp
- type: Authentication
url: authentication/improvado-authentication.yml
- type: OAuthScopes
url: scopes/improvado-scopes.yml
- type: AgentSkill
url: skills/_index.yml
- type: Plans
url: plans/improvado-plans-pricing.yml
- type: SourceCode
url: https://github.com/tekliner/improvado-agentic-frameworks-and-skills
- aid: improvado:improvado-accounts-api
name: Improvado Accounts API
description: 'Manage connection accounts from which data is extracted.
Accounts represent specific accounts within a data source platform.
Each account is associated with a connection and can have multiple extracts configured to pull data from it.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Account
tags_raw:
- Accounts
properties:
- type: OpenAPI
url: openapi/improvado-accounts-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-authentication-api
name: Improvado Authentication API
description: 'Authentication and authorization endpoints for the Improvado Embedded API.
Authentication supports Basic Auth (username:password) for initial token creation, then Bearer tokens for workspace-scoped
operations.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Authentication
properties:
- type: OpenAPI
url: openapi/improvado-authentication-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-automated-recipes-api
name: Improvado Automated Recipes API
description: "Deploy and operate automated recipes through the v3.1 API.\n\nAn automated recipe turns a template into a\
\ SQL view in your workspace destination,\nbuilt from the extractions the template needs.\n\n**Deploying a recipe takes\
\ four calls, in this order:**\n\n1. `GET /api/v3.1/automated-recipe-templates/` - pick a template.\n2. `POST /api/v3.1/automated-recipes/`\
\ - create the recipe. It is created empty.\n3. `PUT /api/v3.1/automated-recipes/{recipe_id}/` - supply data sources,\
\ connections\n and accounts. **This step is mandatory.**\n4. `POST /api/v3.1/automated-recipes/{recipe_id}/build/`\
\ - start the build, then poll\n `GET /api/v3.1/automated-recipes/{recipe_id}/` until `state` is `ready_to_work`\n \
\ or `failed`.\n\nEvery path ends with a slash; a `301` means the slash is missing from your URL.\nWith a bearer token\
\ the workspace is the one the token was issued for; with cookie\nauthentication, send the workspace id in the `X-IM-WORKSPACE-ID`\
\ header.\nAll errors use one envelope - see [Errors](/errors).\n\nSee the [Deploying recipes](/recipes) guide for the\
\ full flow."
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Automated Recipes
properties:
- type: OpenAPI
url: openapi/improvado-automated-recipes-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-data-source-connections-api
name: Improvado Data source connections API
description: 'Manage connections to data sources for authentication and data access.
Connections handle authentication with data sources and maintain the credentials needed for data extraction.
Connections are typically created through the iframe UI, where users can:
- Provide username/password credentials
- Complete OAuth flows
- Configure additional connection parameters
Connection lifecycle:
1. Create connection via iframe (provides OAuth or credential input)
2. Validate connection status
3. Use connection to create extracts
4. Monitor connection health and refresh tokens as needed'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Data source connections
properties:
- type: OpenAPI
url: openapi/improvado-data-source-connections-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-data-sources-api
name: Improvado Data sources API
description: 'Browse and configure available data sources for extraction.
Data sources represent the marketing platforms, advertising networks, analytics tools, and other systems
from which Improvado can extract data (e.g., Google Ads, Facebook Ads, Salesforce).'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Data Sources
tags_raw:
- Data sources
properties:
- type: OpenAPI
url: openapi/improvado-data-sources-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-data-tables-api
name: Improvado Data tables API
description: 'Manage data tables where extracted data is stored and organized.
Data tables serve as centralized storage for extracted data. All extractions created from the same extract template
are stored in the same data table, providing a unified view of your data. Data tables are also used as sources
when configuring loads to destinations.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Data Tables
tags_raw:
- Data tables
properties:
- type: OpenAPI
url: openapi/improvado-data-tables-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-destination-connections-api
name: Improvado Destination connections API
description: 'Configure and manage connections to destinations for data loading.
Destination connections define how and where data should be loaded within a destination system.
They include:
- Authentication credentials for the destination
- Target configuration (database, schema, table naming patterns)
- Load behavior settings (append, replace, upsert)
- Path and formatting rules
Destination connections are created and modified through the iframe UI to securely handle credentials.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Destination connections
properties:
- type: OpenAPI
url: openapi/improvado-destination-connections-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-destinations-api
name: Improvado Destinations API
description: 'Manage available destination options where Improvado can load your data.
Destinations represent the target systems where extracted and transformed data is loaded, including:
- Data warehouses (Snowflake, BigQuery, Redshift)
- Databases (PostgreSQL, MySQL)
- File storage (S3, Google Cloud Storage)
- Business intelligence tools'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Destination
tags_raw:
- Destinations
properties:
- type: OpenAPI
url: openapi/improvado-destinations-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-extraction-templates-api
name: Improvado Extraction templates API
description: 'Work with predefined templates that define what data to extract from a data source.
Extract templates are blueprints that specify:
- Available fields from a data source
- Default extraction settings and parameters
- Supported date ranges and filters
Global templates are created and maintained by Improvado. When you create an extract, you select a template
and optionally customize its settings for your specific use case.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Extraction templates
properties:
- type: OpenAPI
url: openapi/improvado-extraction-templates-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-extracts-api
name: Improvado Extracts API
description: 'Create and manage data extraction orders that pull data from connected sources.
An extract represents a configured instance of data extraction with specific settings:
- Which connection and account to extract from
- Which extract template to use
- Custom field selections and filters
- Schedule and date range configuration
- Where to store the extracted data (data table)
Extract workflow:
1. Create extract with desired configuration
2. Extraction runs automatically on schedule or on-demand
3. Data is stored in the associated data table
4. Monitor extraction status and history'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Extracts
properties:
- type: OpenAPI
url: openapi/improvado-extracts-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-iframe-api
name: Improvado Iframe API
description: 'Generate secure iframe URLs for embedded UI components.
iframe endpoints provide secure, embeddable UI components for:
- Creating and managing data source connections (OAuth flows, credential input)
- Configuring destination connections
- Managing connection settings and permissions
These IFrames handle sensitive operations like authentication in a secure, pre-built UI that you can
embed directly into your application.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Iframe
tags_raw:
- iframe
properties:
- type: OpenAPI
url: openapi/improvado-iframe-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-loads-api
name: Improvado Loads API
description: 'Configure and manage data loading from data tables to destinations.
Load orders define the rules and settings for how data moves from Improvado''s data tables
to your destination systems. This includes:
- Source data table selection
- Destination connection and target location
- Load schedule and frequency
- Data transformation and mapping rules
- Load mode (full refresh, incremental, etc.)
Loads ensure your data is automatically synchronized from Improvado to your destination on the schedule you define.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Loads
properties:
- type: OpenAPI
url: openapi/improvado-loads-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-recipes-api
name: Improvado Recipes API
description: 'Work with pre-built recipes that automate common data pipeline workflows.
Recipes are templated workflows that combine multiple API operations into reusable patterns.
They simplify common tasks like:
- Setting up end-to-end data pipelines (source → extract → load → destination)
- Configuring multiple related extracts at once
- Applying best-practice configurations
Recipes accelerate implementation by providing proven patterns for common use cases.
**Automated recipes have moved to v3.1.** They are documented under
[Automated Recipes](/api/automated-recipes), which is where new integrations should start.
The `/api/v3/automated-recipe-templates/` and `/api/v3/automated-recipes/` operations in
this tag are deprecated. They keep working until they are switched off, and we will
announce the date in advance. See [Moving recipes to v3.1](/recipes-migration) for what
changes between the two versions, and [Deploying recipes](/recipes) for the current flow.
**Two operations in this tag are not automated recipes and are not deprecated:**
`List agency recipes` (`GET /api/v3/recipes/`) and `Enable recipe in a workspace`
(`POST /api/v3/workspaces/{id}/recipes`). They use Basic authentication, work with the
recipes available to your agency rather than with automated recipes, and have no v3.1
replacement.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Recipes
properties:
- type: OpenAPI
url: openapi/improvado-recipes-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-roles-api
name: Improvado Roles API
description: "Manage custom workspace roles and inspect the available permission catalog.\n\nEach agency ships with a fixed\
\ set of system roles (Workspace Admin, Editor, Viewer, Data Manager,\nData Load Manager, Data Analyst). On top of these\
\ you can define **custom roles** scoped to the\nagency and assign them to users in any workspace.\n\nCapabilities:\n\
- List system + custom roles (each role carries its assigned `user_count`).\n- Fetch the curated permission catalog: a\
\ stable, ordered list of product layers with\n permissions, including human-readable `title` and `description` for each\
\ entry.\n- Create, rename, edit, and delete custom roles. System roles are read-only.\n- List users currently assigned\
\ to a role for impact preview.\n\nDelete semantics: deleting a custom role atomically reassigns every user holding it\
\ to the\nsystem **Viewer** role; the response returns `reassigned_users_count`.\n\nAll Roles endpoints require an agency-chief\
\ Basic Auth credential and the `can_use_embedded_api`\nflag enabled for the agency."
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Roles
properties:
- type: OpenAPI
url: openapi/improvado-roles-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-webhooks-api
name: Improvado Webhooks API
description: "Manage webhook endpoints that receive event notifications from Improvado.\n\nWebhooks let your application\
\ react to platform events (extraction completion, load completion, etc.)\nin near real time, without polling. Each endpoint\
\ is workspace-scoped and subscribes to one or more\nevent types.\n\nLifecycle:\n1. **Register** an endpoint with the\
\ URL of your receiver and the event types you care about.\n Improvado returns an `id` and a `secret`, and the endpoint\
\ is created in `unverified` status.\n2. **Verify** ownership by calling the verify action. Improvado sends a GET request\
\ to your URL with\n `X-Improvado-Verify-Token` and `X-Improvado-Challenge` headers. Your receiver must respond with\n\
HTTP 200\n and the challenge value as the response body. After successful verification the endpoint moves\nto `active`.\
\ 3. **Receive events.** Improvado POSTs JSON payloads `{id, type, timestamp, data}` to your URL.\n Each request is\
\ signed with HMAC-SHA256 in the `X-Improvado-Signature` header (using the endpoint's\n secret) and includes `X-Improvado-Idempotency-Key`\
\ for safe retry handling.\n4. **Rotate the secret** at any time. Rotation invalidates the previous secret immediately\
\ and resets the\n endpoint to `unverified` until you re-verify.\n\nFailed deliveries are retried up to four times with\
\ backoff `[0s, 2s, 5s, 10s]`. Receivers should aim to\nrespond within a few seconds and return 2xx for successful processing."
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Webhook
tags_raw:
- Webhooks
properties:
- type: OpenAPI
url: openapi/improvado-webhooks-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- aid: improvado:improvado-workspaces-api
name: Improvado Workspaces API
description: 'Manage workspaces that provide isolated environments for organizing resources.
Workspaces are fundamental to multi-tenancy in Improvado''s Embedded API. Each workspace provides complete
isolation of resources including connections, extracts, data tables, and loads.
Use workspaces to:
- Separate resources for different customers or projects
- Maintain data isolation and security boundaries
- Control access through workspace-scoped tokens
- Organize resources by environment (dev, staging, production)
**Important**: Access tokens are scoped to a specific workspace. A token for one workspace cannot access
resources in another workspace, ensuring strict isolation between tenants.'
humanURL: https://developers.improvado.io/api
baseURL: https://embedded.improvado.io
tags:
- Workspace
tags_raw:
- Workspaces
properties:
- type: OpenAPI
url: openapi/improvado-workspaces-api-openapi.yml
- type: Documentation
url: https://improvado.io/llms.txt
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: Authentication
url: authentication/improvado-authentication.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
common:
- type: CapabilityMap
url: capabilities/improvado-capability-edges.yml
name: Improvado Business Capability Map
- url: https://improvado.io/blog/rss.xml
type: BlogRSS
- type: Website
url: https://improvado.io
- type: DeveloperPortal
url: https://developers.improvado.io/api
- type: Documentation
url: https://developers.improvado.io/api
- type: APIReference
url: https://developers.improvado.io/api
- type: GettingStarted
url: https://developers.improvado.io/introduction
- type: Blog
url: https://improvado.io/blog
- type: Support
url: https://improvado.io/help
- type: Pricing
url: https://improvado.io/pricing
- type: SignUp
url: https://improvado.io/register/talk-to-an-expert
- type: Login
url: https://report.improvado.io/
- type: TermsOfService
url: https://improvado.io/legal/terms-of-use
- type: PrivacyPolicy
url: https://improvado.io/company-legal/privacy-policy
- type: StatusPage
url: https://status.improvado.io
- type: ChangeLog
url: https://developers.improvado.io/changelog
- type: Integrations
url: https://improvado.io/integrations
- type: TrustCenter
url: security/improvado-trust-center.yml
- type: Compliance
url: https://trust.improvado.io
- type: LLMsTxt
url: llms/improvado-llms.txt
- type: WellKnown
url: well-known/improvado-well-known.yml
- type: SecurityTxt
url: well-known/improvado-security.txt
- type: DomainSecurity
url: security/improvado-domain-security.yml
- type: VulnerabilityDisclosure
url: security/improvado-vulnerability-disclosure.yml
- type: Security
url: https://improvado.io/company-legal/responsible-disclosure-policy
- type: Authentication
url: authentication/improvado-authentication.yml
- type: Conventions
url: conventions/improvado-conventions.yml
- type: Idempotency
url: conventions/improvado-conventions.yml
- type: Webhooks
url: asyncapi/improvado-webhooks.yml
- type: Lifecycle
url: lifecycle/improvado-lifecycle.yml
- type: Conformance
url: conformance/improvado-conformance.yml
- type: ErrorCatalog
url: errors/improvado-error-codes.yml
- type: DataModel
url: data-model/improvado-data-model.yml
- type: MCPServer
url: mcp/improvado-mcp.yml
- type: AgentSkill
url: skills/_index.yml
- type: OpenAPI
url: openapi/_original/improvado-agent-ask-openapi.json
- type: Overlay
url: overlays/improvado-agent-ask-overlay.yaml
- type: ToolCrosswalk
url: mcp/improvado-tool-crosswalk.yml
- type: OAuthScopes
url: scopes/improvado-scopes.yml
- type: Packages
url: packages/improvado-packages.yml
- type: SDKs
url: packages/improvado-packages.yml
- type: Plans
url: plans/improvado-plans-pricing.yml
- type: RateLimits
url: rate-limits/improvado-rate-limits.yml
- type: Components
url: components/improvado-components.yml
- type: LLMsTxt
url: llms/improvado-site-llms.txt
- type: SourceCode
url: https://github.com/tekliner/improvado-agentic-frameworks-and-skills
x-enrichment:
date: '2026-08-13'
status: enriched
artifacts_added: 12
pass: local-v1
Improvado API — frequently asked questions
Does Improvado have an API?
Yes. APIs.io lists 18 APIs from Improvado, including Improvado Embedded API v3, Improvado Customer MCP and Improvado Accounts API, and 15 more.
Is there an OpenAPI specification for the Improvado API?
Yes. APIs.io indexes 16 OpenAPI specifications for Improvado, each linked for download from this page.
How do I authenticate with the Improvado API?
Improvado documents its authentication (http/oauth2/none · 5 schemes). The details are profiled on APIs.io as Improvado Authentication.
How much does the Improvado API cost?
Improvado publishes its prices; its MCP Only plan is $100/mo as of 2026-10-28. APIs.io lists 6 pricing plans for Improvado, with each plan's price, limits and inclusions under Pricing on this page.
Does Improvado have an MCP server?
Yes. APIs.io lists 1 MCP server for Improvado: Remote MCP server over HTTP; 83 tools listed.
Is the Improvado API ready for AI agents?
Improvado has a Kin Score of 72.3 out of 100 (exemplar) and an Agent Readiness score of 56.5 (agent-native), scored by API Evangelist on 2026-11-06.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.