Skip to main content

Piwik

Piwik PRO is a privacy-focused analytics and customer data platform that lets organizations collect, analyze, and act on web, app, and product analytics data while retaining full data ownership. The Piwik PRO API provides programmatic access to platform administration resources such as apps, meta-sites, users, user groups, tracker settings, and audit logs. Nexla connects to Piwik PRO using an OAuth2 bearer access token, letting you ingest these resources as a data source or push administrative changes as a destination.

Piwik icon

Power end-to-end data operations for your Piwik API with Nexla. Our bi-directional Piwik connector is purpose-built for Piwik, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Piwik or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Piwik workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Piwik credential, you need your Piwik PRO account base URL and an OAuth2 bearer access token. Piwik PRO authenticates API requests with a bearer token that you obtain from your account's authentication endpoint using the client_credentials grant, based on an API key (client ID and client secret) generated in your Piwik PRO profile.

To obtain your Piwik PRO credentials, follow these steps:

  1. Sign in to your Piwik PRO account.

  2. Click your email address in the top navigation to open the Menu, then go to your Profile.

  3. Select API keys, then click Create a key.

  4. Enter a name for the key and confirm with OK.

  5. Copy both the Client ID and the Client secret immediately. The client secret is shown only once and cannot be retrieved after you close the window.

  6. Generate an access token by making a POST request to your account's authentication endpoint, https://<your-account>.piwik.pro/auth/token, with grant_type=client_credentials and your client ID and client secret. The response returns a bearer access token.

  7. Note your Piwik PRO account base URL (for example, https://your-account.piwik.pro, with no trailing slash). The account subdomain appears in the URL of your Piwik PRO instance.

Piwik PRO access tokens are short-lived (they expire roughly 30 minutes after issue), so you may need to generate a fresh token before configuring or reconfiguring your Nexla credential. The bearer token is sent in the Authorization header for all API requests. Keep your client secret and access token confidential; if either is compromised, revoke the API key in your Piwik PRO profile and create a new one. For detailed information about API keys, authentication, and available endpoints, see the Piwik PRO Developer Documentation.

Authenticate

Credentials required

Authenticate to Piwik PRO with an OAuth2 bearer access token (from POST https://<your-account>.piwik.pro/auth/token, grant_type=client_credentials using your Piwik PRO client_id and client_secret).

FieldRequiredSecretDescription
Base URLYesNoYour Piwik PRO account base URL, e.g. https://your-account.piwik.pro (no trailing slash). The account/organization subdomain appears in the URL of your Piwik PRO instance.
Access TokenYesNoOAuth2 bearer access token obtained from POST https://<your-account>.piwik.pro/auth/token using grant_type=client_credentials with your Piwik PRO client_id and client_secret.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your Piwik PRO account base URL in the Base URL field. This should be your account base URL without a trailing slash (e.g., https://your-account.piwik.pro).

  4. Enter your OAuth2 bearer access token in the Access Token field. This is the token you obtained from your Piwik PRO authentication endpoint in Prerequisites.

    Piwik PRO access tokens are short-lived and expire roughly 30 minutes after they are issued. If your source or destination fails to authenticate, generate a fresh access token and update this credential.

    Keep your client secret and access token confidential. If either is compromised, revoke the API key in your Piwik PRO profile and create a new one. For detailed information about authentication and available endpoints, see the Piwik PRO Developer Documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Piwik connector tile, then select the credential that will be used to connect to the Piwik PRO instance, and click Next; or, create a new Piwik credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Piwik PRO endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Users

This endpoint template retrieves the users in your Piwik PRO organization. Use this template when you need to access user account information for auditing, reporting, or synchronization with other systems.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Users-Me

This endpoint template retrieves the profile of the currently authenticated user (the account associated with the credential). Use this template to confirm which identity the credential resolves to or to fetch that user's details.

Results are returned as JSON. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List User-Groups

This endpoint template retrieves the user groups defined in your Piwik PRO organization. Use this template when you need to access group membership and access structures for auditing or reporting.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Access-Control Meta-Site Permission User

This endpoint template retrieves user permissions on meta-sites from the Piwik PRO access-control service. Use this template when you need to audit which users have access to which meta-sites.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Tracker Settings

This endpoint template retrieves tracker settings from your Piwik PRO account. Use this template when you need to access data-collection configuration for reporting or synchronization.

Results are returned as JSON. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Modules

This endpoint template retrieves the modules available in your Piwik PRO account. Use this template when you need to access the list of platform modules for reporting or inventory purposes.

Results are returned as JSON. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Meta-Sites

This endpoint template retrieves the meta-sites (groups of apps) defined in your Piwik PRO account. Use this template when you need to access your meta-site inventory for reporting or synchronization.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Meta-Sites Apps

This endpoint template retrieves the apps that belong to your Piwik PRO meta-sites. Use this template when you need to access the mapping of apps within meta-sites.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Meta-Sites Apps-With-Meta-Sites

This endpoint template retrieves apps together with the meta-sites they are associated with in Piwik PRO. Use this template when you need a combined view of apps and their parent meta-sites.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Container-Settings Settings

This endpoint template retrieves container settings from your Piwik PRO Tag Manager configuration. Use this template when you need to access container-level settings for reporting or synchronization.

Results are returned as JSON. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Apps

This endpoint template retrieves the apps (websites or mobile apps) in your Piwik PRO account. Use this template when you need to access your app inventory for reporting or synchronization.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Audit-Log Entries

This endpoint template retrieves audit-log entries from your Piwik PRO account. Use this template when you need to access a record of administrative actions for security, compliance, or monitoring.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Apps Details

This endpoint template retrieves detailed information about the apps in your Piwik PRO account. Use this template when you need richer app metadata than the basic app listing provides.

Results are returned as JSON and paginated automatically; Nexla follows the pagination to fetch subsequent pages of data. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

[Rest API] List Access-Control Actions

This endpoint template retrieves the available access-control actions from Piwik PRO. Use this template when you need to access the set of permission actions for auditing or reporting.

Results are returned as JSON. For detailed information about the response structure and available fields, see the Piwik PRO Developer Documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Piwik data sources can also be manually configured to ingest data from any valid Piwik PRO API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Piwik data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Piwik destination, and select the Send to Destination option from the menu. Select the Piwik connector from the list of available destination connectors, then select the credential that will be used to connect to the Piwik PRO organization, and click Next; or, create a new Piwik credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Piwik PRO endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create User

This endpoint template invites a new user to your Piwik PRO organization using records from a Nexset. Use this template when you need to automatically provision users based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate JSON request body to create a user. The request body must contain the user data in the format required by the Piwik PRO user-management API.

The request structure must match the Piwik PRO API's expected format. For detailed information about user creation and available fields, see the Piwik PRO User Management API Documentation.

[Rest API] Create App

This endpoint template adds a new app (website or mobile app) to Piwik PRO using records from a Nexset. Use this template when you need to automatically create apps based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate JSON request body to create an app. The request body must contain the app data in the format required by the Piwik PRO apps API.

The request structure must match the Piwik PRO API's expected format. For detailed information about app creation and available fields, see the Piwik PRO Apps API Documentation.

[Rest API] Create Meta Site

This endpoint template adds a new meta-site (group of apps) to Piwik PRO using records from a Nexset. Use this template when you need to automatically create meta-sites based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate JSON request body to create a meta-site. The request body must contain the meta-site data in the format required by the Piwik PRO meta-sites API.

The request structure must match the Piwik PRO API's expected format. For detailed information about meta-site creation and available fields, see the Piwik PRO Meta Sites API Documentation.

[Rest API] Create User Group

This endpoint template adds a new user group to your Piwik PRO organization using records from a Nexset. Use this template when you need to automatically create user groups based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate JSON request body to create a user group. The request body must contain the group data in the format required by the Piwik PRO user-management API.

The request structure must match the Piwik PRO API's expected format. For detailed information about user-group creation and available fields, see the Piwik PRO User Management API Documentation.

[Rest API] Create Annotation

This endpoint template creates a user annotation on analytics data in Piwik PRO using records from a Nexset. Use this template when you need to automatically add annotations based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate JSON request body to create an annotation. The request body must contain the annotation data in the format required by the Piwik PRO analytics API.

The request structure must match the Piwik PRO API's expected format. For detailed information about annotation creation and available fields, see the Piwik PRO Analytics API Documentation.

Manual configuration

Piwik destinations can also be manually configured to send data to any valid Piwik PRO API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Piwik PRO APIs typically expect JSON format for create operations. For update operations, include the ID of the object to be updated at the end of the URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Piwik endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Piwik endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.