Quick access to APIs

API
AbTesting
Actions
ActivityLog
AdvertisingConversionExport
Annotations
ConnectAccounts
Contents
CoreAdminHome
CrashAnalytics
CustomAlerts
CustomDimensions
CustomJsTracker
CustomReports
CustomVariables
Dashboard
DevicePlugins
DevicesDetection
Events
Feedback
FormAnalytics
Funnels
Goals
HeatmapSessionRecording
ImageGraph
Insights
LanguagesManager
Live
Login
MarketingCampaignsReporting
MediaAnalytics
MobileMessaging
MultiChannelConversionAttribution
MultiSites
Overlay
PagePerformance
PrivacyManager
Referrers
Resolution
RollUpReporting
SEO
ScheduledReports
SearchEngineKeywordsPerformance
SegmentEditor
SitesManager
TagManager
Tour
Transitions
TwoFactorAuth
UserCountry
UserId
UserLanguage
UsersFlow
UsersManager
VisitFrequency
VisitTime
VisitorInterest
VisitsSummary

Module API

This API is the Metadata API: it gives information about all other available APIs methods, as well as providing human readable and more complete outputs than normal API methods. Some of the information that is returned by the Metadata API: The Metadata API is for example used by the Matomo Mobile App to automatically display all Matomo reports, with translated report & columns names and nicely formatted values. More information on the Metadata API documentation page
- API.getMatomoVersion () [ Example in XML, Json, Tsv (Excel) ]
- API.getPhpVersion () [ Example in XML, Json, Tsv (Excel) ]
- API.getIpFromHeader () [ Example in XML, Json, Tsv (Excel) ]
- API.getSettings () [ Example in XML, Json, Tsv (Excel) ]
- API.getSegmentsMetadata (idSites = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- API.getMetadata (idSite, apiModule, apiAction, apiParameters = 'Array', language = '', period = '', date = '', hideMetricsDoc = '', showSubtableReports = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- API.getReportMetadata (idSites = '', period = '', date = '', hideMetricsDoc = '', showSubtableReports = '', idSite = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- API.getProcessedReport (idSite, period, date, apiModule, apiAction, segment = '', apiParameters = '', idGoal = '', language = '', showTimer = '1', hideMetricsDoc = '', idSubtable = '', showRawMetrics = '', format_metrics = '', idDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- API.getReportPagesMetadata (idSite) [ Example in XML, Json, Tsv (Excel) ]
- API.getWidgetMetadata (idSite) [ Example in XML, Json, Tsv (Excel) ]
- API.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- API.getRowEvolution (idSite, period, date, apiModule, apiAction, label = '', segment = '', column = '', language = '', idGoal = '', legendAppendMetric = '1', labelUseAbsoluteUrl = '1', idDimension = '', labelSeries = '', showGoalMetricsForGoal = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- API.getBulkRequest (urls) [ No example available ]
- API.isPluginActivated (pluginName) [ No example available ]
- API.getSuggestedValuesForSegment (segmentName, idSite) [ Example in XML, Json, Tsv (Excel) ]
- API.getPagesComparisonsDisabledFor () [ Example in XML, Json, Tsv (Excel) ]
- API.getGlossaryReports (idSite) [ Example in XML, Json, Tsv (Excel) ]
- API.getGlossaryMetrics (idSite) [ Example in XML, Json, Tsv (Excel) ]

Module AbTesting

- AbTesting.getMetricsOverview (idSite, period, date, idExperiment, segment = '') [ No example available ]
- AbTesting.getMetricDetails (idSite, period, date, idExperiment, successMetric, segment = '') [ No example available ]
- AbTesting.addExperiment (idSite, name, hypothesis, description, variations, includedTargets, successMetrics) [ No example available ]
- AbTesting.updateExperiment (idExperiment, idSite, name, description, hypothesis, variations, confidenceThreshold, mdeRelative, percentageParticipants, successMetrics, includedTargets, excludedTargets = 'Array', startDate = '', endDate = '', forwardUtmParams = '') [ No example available ]
- AbTesting.startExperiment (idExperiment, idSite) [ No example available ]
- AbTesting.finishExperiment (idExperiment, idSite) [ No example available ]
- AbTesting.archiveExperiment (idExperiment, idSite) [ No example available ]
- AbTesting.getJsIncludeTemplate () [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getJsExperimentTemplate (idExperiment, idSite) [ No example available ]
- AbTesting.getAllExperiments (idSite) [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getActiveExperiments (idSite) [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getExperimentsByStatuses (idSite, statuses) [ No example available ]
- AbTesting.getExperiment (idExperiment, idSite) [ No example available ]
- AbTesting.deleteExperiment (idExperiment, idSite) [ No example available ]
- AbTesting.getAvailableStatuses (idSite) [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getAvailableSuccessMetrics (idSite) [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getAvailableTargetAttributes () [ Example in XML, Json, Tsv (Excel) ]
- AbTesting.getExperimentsWithReports (idSite) [ Example in XML, Json, Tsv (Excel) ]

Module Actions

The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles, Events, Content Tracking, File Downloads and Clicks on external websites. For example, "getPageTitles" will return all your page titles along with standard Actions metrics for each row. It is also possible to request data for a specific Page Title with "getPageTitle" and setting the parameter pageName to the page title you wish to request. Similarly, you can request metrics for a given Page URL via "getPageUrl", a Download file via "getDownload" and an outlink via "getOutlink". Note: pageName, pageUrl, outlinkUrl, downloadUrl parameters must be URL encoded before you call the API.
- Actions.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageUrls (idSite, period, date, segment = '', expanded = '', idSubtable = '', depth = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageUrlsFollowingSiteSearch (idSite, period, date, segment = '', expanded = '', idSubtable = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageTitlesFollowingSiteSearch (idSite, period, date, segment = '', expanded = '', idSubtable = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getEntryPageUrls (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getExitPageUrls (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageUrl (pageUrl, idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageTitles (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getEntryPageTitles (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getExitPageTitles (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getPageTitle (pageName, idSite, period, date, segment = '') [ No example available ]
- Actions.getDownloads (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getDownload (downloadUrl, idSite, period, date, segment = '') [ No example available ]
- Actions.getOutlinks (idSite, period, date, segment = '', expanded = '', idSubtable = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getOutlink (outlinkUrl, idSite, period, date, segment = '') [ No example available ]
- Actions.getSiteSearchKeywords (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getSiteSearchNoResultKeywords (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Actions.getSiteSearchCategories (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module ActivityLog

The Activity Log API is used to get the activity logs for users in your Matomo instance.

The method ActivityLog.getEntries returns a list of the activities done by users in your Matomo instance.
The list of activities returned depends on which user is calling the API:
- if you authenticate with a Super User access, the API will return activity logs for all users
- if you authenticate as anonymous (no authentication), or a user with view or admin access, only this user's activity will be returned.

Each activity includes an activity ID, the user who initiated the activity, a list of parameters/metadata specific to this activity, the datetime (and pretty datetime), the activity description, and the URL to the colored avatar image for this user.

The activity log includes over 80 different types of Matomo activities, for example:
- See when a user logged in, failed to log in, or logged out
- See when a user was created, updated or deleted by who
- See when a website was created, updated or deleted by who
- See when a Matomo setting, an A/B Test, a Scheduled Report, or a Segment was changed and by who
- ActivityLog.getEntries (offset = '0', limit = '25', filterByUserLogin = '', filterByActivityType = '') [ Example in XML, Json, Tsv (Excel) ]
- ActivityLog.getEntryCount (filterByUserLogin = '', filterByActivityType = '') [ Example in XML, Json, Tsv (Excel) ]

Module AdvertisingConversionExport

- AdvertisingConversionExport.getConversionExports (idSite = '') [ Example in XML, Json, Tsv (Excel) ]
- AdvertisingConversionExport.getConversionExport (idExport) [ No example available ]
- AdvertisingConversionExport.deleteConversionExport (idExport, idSite) [ No example available ]
- AdvertisingConversionExport.addConversionExport (idSite, name, type, parameters, description = '') [ No example available ]
- AdvertisingConversionExport.regenerateAccessToken (idExport) [ No example available ]
- AdvertisingConversionExport.updateConversionExport (idExport, idSite, name, type, parameters, description = '') [ No example available ]

Module Annotations

API for annotations plugin. Provides methods to create, modify, delete & query annotations.
- Annotations.add (idSite, date, note, starred = '0') [ No example available ]
- Annotations.save (idSite, idNote, date = '', note = '', starred = '') [ No example available ]
- Annotations.delete (idSite, idNote) [ No example available ]
- Annotations.deleteAll (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Annotations.get (idSite, idNote) [ No example available ]
- Annotations.getAll (idSite, date = '', period = 'day', lastN = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Annotations.getAnnotationCountForDates (idSite, date, period, lastN = '', getAnnotationText = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module ConnectAccounts

- ConnectAccounts.getGtmContainersList (string accountId) [ No example available ]
- ConnectAccounts.getGtmWorkspaceList (string accountId, string containerId) [ No example available ]
- ConnectAccounts.createMatomoTag (string accountId, string containerId, string workspaceId, array parentInfo) [ No example available ]

Module Contents

API for plugin Contents
- Contents.getContentNames (idSite, period, date, segment = '', idSubtable = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Contents.getContentPieces (idSite, period, date, segment = '', idSubtable = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module CoreAdminHome

- CoreAdminHome.deleteAllTrackingFailures () [ Example in XML, Json, Tsv (Excel) ]
- CoreAdminHome.deleteTrackingFailure (idSite, idFailure) [ No example available ]
- CoreAdminHome.getTrackingFailures () [ Example in XML, Json, Tsv (Excel) ]

Module CrashAnalytics

The Crash Analytics API lets you 1) ignore/unignore crashes tracked by Matomo 2) request information about individual crashes and 3) request all your Crash Analytics reports and metrics. 1) You can ignore crashes so they will no longer be tracked, or unignore previously ignored crashes so they will reappear again in your reports.

2) You can merge different crashes together so they will be treated as a single crash in reports, or unmerge previously merged groups. You can also get the list of all merged crash groups for a site.

3) You can request summarized information about a single crash as well as query the entire list of raw tracked crash information:
- get a list of all the different crash types that were tracked via CrashAnalytics.getCrashTypes
- get the list of currently ignored crashes via CrashAnalytics.getIgnoredCrashes
- get summarized information about a single crash via CrashAnalytics.getCrashSummary
- get information about the actions that preceeded a crash via CrashAnalytics.getCrashVisitContext
- query every crash that has been tracked for a site via CrashAnalytics.getAllCrashes

4) Request all metrics and reports about crashes that occur on your website:
- How often different crash messages appear and which source file originated them
- Which crashes have disappeared and not been seen in the last several days
- Which crashes have recently reappeared after an absence
- Which crashes are new and have never been seen before
- Which pages have the most crashes and what those crashes are
- Which source files generate the most crashes and what those crashes are
- Which crash categories appear the most and what crashes appear for those categories
- Which crashes originate from first party source files (in other words, source files hosted by your website)
- Which crashes originate from third party source files (in other words, source files from third party websites, generally outside your control)
- What crashes are currently occurring on your website, within the last N minutes
- Which of the crashes that are currently occurring are new
- Which of the crashes that are currently occurring were absent but have reappeared
- What crashes have just been absent long enough to be considered "disappeared"

And the following metrics:
- How many times a crash occurs
- How often a visit encounters at least one crash
- How many unique crashes were tracked
- How many new crashes were tracked
- How many crashes that were tracked were absent for some time, but have since reappeared
- How often a page view encounters at least one crash
- How many crashes are currently ignored
- CrashAnalytics.searchCrashMessagesForMerge (idSite, resourceUri = '', searchTerm = '', limit = '10', offset = '0', excludeIdLogCrashes = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.mergeCrashes (idSite, idLogCrashes) [ No example available ]
- CrashAnalytics.unmergeCrashGroup (idSite, idLogCrash) [ No example available ]
- CrashAnalytics.getCrashGroups (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getCrashTypes (idSite, filter_limit = '') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.setIgnoreCrash (idSite, idLogCrash, ignore = '1') [ No example available ]
- CrashAnalytics.getIgnoredCrashes (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getCrashSummary (idSite, idLogCrash) [ No example available ]
- CrashAnalytics.getCrashVisitContext (idLogCrash, idSite, period, date, segment = '', filter_limit = '5', filter_offset = '0', fetchRecentActions = '1') [ No example available ]
- CrashAnalytics.getAllCrashes (idSite, filter_sort_column = 'datetime_last_seen', filter_sort_order = 'desc', filter_limit = '10', filter_offset = '0') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getAllCrashMessages (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashMessages (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getUnidentifiedCrashMessages (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getDisappearedCrashes (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getReappearedCrashes (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getNewCrashes (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesByPageUrl (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesForPageUrl (idSite, period, date, idSubtable, segment = '') [ No example available ]
- CrashAnalytics.getCrashesByPageTitle (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesForPageTitle (idSite, period, date, idSubtable, segment = '') [ No example available ]
- CrashAnalytics.getCrashesBySource (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesForSource (idSite, period, date, idSubtable, segment = '') [ No example available ]
- CrashAnalytics.getCrashesByCategory (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesForCategory (idSite, period, date, idSubtable, segment = '') [ No example available ]
- CrashAnalytics.getCrashesByFirstParty (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getCrashesByThirdParty (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CrashAnalytics.getLastCrashesOverview (idSite, segment = '', lastMinutes = '30') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getLastTopCrashes (idSite, segment = '', lastMinutes = '30', filter_limit = '5') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getLastNewCrashes (idSite, segment = '', lastMinutes = '30', filter_limit = '10') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getLastReappearedCrashes (idSite, segment = '', lastMinutes = '30', filter_limit = '10') [ Example in XML, Json, Tsv (Excel) ]
- CrashAnalytics.getLastDisappearedCrashes (idSite, segment = '', lastMinutes = '30', filter_limit = '10') [ Example in XML, Json, Tsv (Excel) ]

Module CustomAlerts

- CustomAlerts.getValuesForAlertInPast (idAlert, subPeriodN) [ No example available ]
- CustomAlerts.getAlert (idAlert) [ Example in XML, Json, Tsv (Excel) ]
- CustomAlerts.getAlerts (idSites, ifSuperUserReturnAllAlerts = '') [ Example in XML, Json, Tsv (Excel) ]
- CustomAlerts.addAlert (name, idSites, period, emailMe, additionalEmails, phoneNumbers, metric, metricCondition, metricValue, comparedTo, reportUniqueId, reportCondition = '', reportValue = '') [ No example available ]
- CustomAlerts.editAlert (idAlert, name, idSites, period, emailMe, additionalEmails, phoneNumbers, metric, metricCondition, metricValue, comparedTo, reportUniqueId, reportCondition = '', reportValue = '') [ No example available ]
- CustomAlerts.deleteAlert (idAlert) [ Example in XML, Json, Tsv (Excel) ]
- CustomAlerts.getTriggeredAlerts (idSites) [ Example in XML, Json, Tsv (Excel) ]

Module CustomDimensions

The Custom Dimensions API lets you manage and access reports for your configured Custom Dimensions.
- CustomDimensions.getCustomDimension (idDimension, idSite, period, date, segment = '', expanded = '', flat = '', idSubtable = '') [ No example available ]
- CustomDimensions.configureNewCustomDimension (idSite, name, scope, active, extractions = 'Array', caseSensitive = '1') [ No example available ]
- CustomDimensions.configureExistingCustomDimension (idDimension, idSite, name, active, extractions = 'Array', caseSensitive = '') [ No example available ]
- CustomDimensions.getConfiguredCustomDimensions (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CustomDimensions.getConfiguredCustomDimensionsHavingScope (idSite, scope) [ No example available ]
- CustomDimensions.getAvailableScopes (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CustomDimensions.getAvailableExtractionDimensions () [ Example in XML, Json, Tsv (Excel) ]

Module CustomJsTracker

API for plugin CustomJsTracker
- CustomJsTracker.doesIncludePluginTrackersAutomatically () [ Example in XML, Json, Tsv (Excel) ]

Module CustomReports

The Custom Reports API lets you 1) create custom reports within Matomo and 2) view the created reports in the Matomo Reporting UI or consume them via the API.

You can choose between different visualizations (eg table or evolution graph) and combine hundreds of dimensions and metrics to get the data you need.
- CustomReports.addCustomReport (idSite, name, reportType, metricIds, categoryId = '', dimensionIds = 'Array', subcategoryId = '', description = '', segmentFilter = '') [ No example available ]
- CustomReports.updateCustomReport (idSite, idCustomReport, name, reportType, metricIds, categoryId = '', dimensionIds = 'Array', subcategoryId = '', description = '', segmentFilter = '') [ No example available ]
- CustomReports.getConfiguredReports (idSite, skipCategoryMetadata = '') [ Example in XML, Json, Tsv (Excel) ]
- CustomReports.getConfiguredReport (idSite, idCustomReport) [ No example available ]
- CustomReports.deleteCustomReport (idSite, idCustomReport) [ No example available ]
- CustomReports.getAvailableCategories (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CustomReports.getAvailableReportTypes () [ Example in XML, Json, Tsv (Excel) ]
- CustomReports.getAvailableDimensions (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CustomReports.getAvailableMetrics (idSite) [ Example in XML, Json, Tsv (Excel) ]
- CustomReports.getCustomReport (idSite, period, date, idCustomReport, segment = '', expanded = '', flat = '', idSubtable = '', columns = '') [ No example available ]

Module CustomVariables

The Custom Variables API lets you access reports for your Custom Variables names and values.
- CustomVariables.getCustomVariables (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- CustomVariables.getCustomVariablesValuesFromNameId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- CustomVariables.getUsagesOfSlots (idSite) [ Example in XML, Json, Tsv (Excel) ]

Module Dashboard

This API is the Dashboard API: it gives information about dashboards.
- Dashboard.getDashboards (login = '', returnDefaultIfEmpty = '1') [ Example in XML, Json, Tsv (Excel) ]
- Dashboard.createNewDashboardForUser (login, dashboardName = '', addDefaultWidgets = '1') [ No example available ]
- Dashboard.removeDashboard (idDashboard, login = '') [ No example available ]
- Dashboard.copyDashboardToUser (idDashboard, copyToUser, dashboardName = '') [ No example available ]
- Dashboard.resetDashboardLayout (idDashboard, login = '') [ No example available ]

Module DevicePlugins

The DevicePlugins API lets you access reports about device plugins such as browser plugins.
- DevicePlugins.getPlugin (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module DevicesDetection

The DevicesDetection API lets you access reports on your visitors devices, brands, models, Operating system, Browsers.
- DevicesDetection.getType (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getBrand (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getModel (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getOsFamilies (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getOsVersions (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getBrowsers (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getBrowserVersions (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- DevicesDetection.getBrowserEngines (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module Events

The Events API lets you request reports about your users' Custom Events. Events are tracked using the Javascript Tracker trackEvent() function, or using the [Tracking HTTP API](http://developer.matomo.org/api-reference/tracking-api).
An event is defined by an event category (Videos, Music, Games...), an event action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...), and an optional event name (a movie name, a song title, etc.) and an optional numeric value.
This API exposes the following Custom Events reports: getCategory lists the top Event Categories, getAction lists the top Event Actions, getName lists the top Event Names.
These Events report define the following metrics: nb_uniq_visitors, nb_visits, nb_events. If you define values for your events, you can expect to see the following metrics: nb_events_with_value, sum_event_value, min_event_value, max_event_value, avg_event_value
The Events.get* reports can be used with an optional &secondaryDimension parameter. Secondary dimension is the dimension used in the sub-table of the Event report you are requesting.
Here are the possible values of secondaryDimension:
For example, to request all Custom Events Categories, and for each, the top Event actions, you would request: method=Events.getCategory&secondaryDimension=eventAction&flat=1. You may also omit &flat=1 in which case, to get top Event actions for one Event category, use method=Events.getActionFromCategoryId passing it the &idSubtable= of this Event category.
- Events.getCategory (idSite, period, date, segment = '', expanded = '', secondaryDimension = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Events.getAction (idSite, period, date, segment = '', expanded = '', secondaryDimension = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Events.getName (idSite, period, date, segment = '', expanded = '', secondaryDimension = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Events.getActionFromCategoryId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Events.getNameFromCategoryId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Events.getCategoryFromActionId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Events.getNameFromActionId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Events.getActionFromNameId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Events.getCategoryFromNameId (idSite, period, date, idSubtable, segment = '') [ No example available ]

Module Feedback

API for plugin Feedback
- Feedback.sendFeedbackForFeature (featureName, like = '', choice = '', message = '') [ No example available ]
- Feedback.sendFeedbackForSurvey (question, message = '') [ No example available ]
- Feedback.updateFeedbackReminderDate () [ Example in XML, Json, Tsv (Excel) ]

Module FormAnalytics

The Form Analytics API lets you 1) manage forms within Matomo and 2) request all your form analytics reports and metrics.

1) You can create, update, delete forms, as well as request any form and also archive them.

2) Request all metrics and reports about how users interact with your forms:
- Form usage by page URL to see whether the same form is used differently on different pages.
- Entry fields to see where they start filling out your forms.
- Drop off fields to see where your users leave your forms.
- Field timings report to see where your users spent the most time.
- Field size report to see how much text your users type.
- Most corrected fields report to learn more about where users have problems filling out your form.
- Unneeded fields report to see which fields are often left blank.
- Several evolution reports of all metrics to see how your forms perform over time.

And the following metrics:
- How often was a form field interacted with (eg. focus or change).
- Which fields did your visitors interact with first when they started filling out a form.
- Which fields caused a visitor to stop filling out a form (drop offs).
- How often your visitors changed a form field or made amendments.
- How often a field was refocused or corrected (eg usage of backspace or delete key, cursor keys, …).
- How much text they type into each of your text fields.
- Which fields are unneeded and often left blank.
- How long visitors hesitated (waited) before they started changing a field.
- How much time your visitors spent on each field.
- FormAnalytics.addForm (idSite, name, description = '', matchFormRules = '', matchPageRules = '', conversionRuleOption = 'page_visit', conversionRules = '') [ No example available ]
- FormAnalytics.updateForm (idSite, idForm, name, description = '', matchFormRules = '', matchPageRules = '', conversionRuleOption = 'page_visit', conversionRules = '') [ No example available ]
- FormAnalytics.getForm (idSite, idForm) [ No example available ]
- FormAnalytics.getForms (idSite) [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getFormsByStatuses (idSite, statuses) [ No example available ]
- FormAnalytics.deleteForm (idSite, idForm) [ No example available ]
- FormAnalytics.archiveForm (idSite, idForm) [ No example available ]
- FormAnalytics.get (idSite, period, date, idForm = '', segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- FormAnalytics.getEntryFields (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getDropOffFields (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getPageUrls (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getFieldTimings (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getFieldSize (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getUneededFields (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getMostUsedFields (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.getFieldCorrections (idSite, period, date, idForm, segment = '') [ No example available ]
- FormAnalytics.updateFormFieldDisplayName (idSite, idForm, fields = 'Array') [ No example available ]
- FormAnalytics.getCounters (idSite, lastMinutes, segment = '') [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getCurrentMostPopularForms (idSite, lastMinutes, filter_limit = '5', segment = '') [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getAutoCreationSettings (idSite) [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getAvailableStatuses () [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getAvailableFormRules () [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getAvailablePageRules () [ Example in XML, Json, Tsv (Excel) ]
- FormAnalytics.getAvailableConversionRuleOptions () [ Example in XML, Json, Tsv (Excel) ]

Module Funnels

API for plugin Funnels
- Funnels.getMetrics (idSite, period, date, idFunnel = '', idGoal = '', segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Funnels.getFunnelFlow (idSite, period, date, idFunnel = '', idGoal = '', segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Funnels.getFunnelEntries (idSite, period, date, idFunnel, segment = '', step = '', expanded = '', idSubtable = '', flat = '') [ No example available ]
- Funnels.getFunnelExits (idSite, period, date, idFunnel, segment = '', step = '') [ No example available ]
- Funnels.getGoalFunnel (idSite, idGoal) [ No example available ]
- Funnels.getSalesFunnelForSite (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Funnels.getFunnel (int idSite, int idFunnel) [ No example available ]
- Funnels.getAllActivatedFunnelsForSite (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Funnels.hasAnyActivatedFunnelForSite (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Funnels.deleteGoalFunnel (idSite, idGoal) [ No example available ]
- Funnels.deleteNonGoalFunnel (int idSite, int idFunnel) [ No example available ]
- Funnels.setGoalFunnel (idSite, idGoal, isActivated, steps) [ No example available ]
- Funnels.saveNonGoalFunnel (int idSite, int idFunnel, string funnelName, array steps) [ No example available ]
- Funnels.getAvailablePatternMatches () [ Example in XML, Json, Tsv (Excel) ]
- Funnels.testUrlMatchesSteps (url, steps) [ No example available ]

Module Goals

Goals API lets you Manage existing goals, via "updateGoal" and "deleteGoal", create new Goals via "addGoal", or list existing Goals for one or several websites via "getGoals" If you are tracking Ecommerce orders and products on your site, the functions "getItemsSku", "getItemsName" and "getItemsCategory" will return the list of products purchased on your site, either grouped by Product SKU, Product Name or Product Category. For each name, SKU or category, the following metrics are returned: Total revenue, Total quantity, average price, average quantity, number of orders (or abandoned carts) containing this product, number of visits on the Product page, Conversion rate. By default, these functions return the 'Products purchased'. These functions also accept an optional parameter &abandonedCarts=1. If the parameter is set, it will instead return the metrics for products that were left in an abandoned cart therefore not purchased. The API also lets you request overall Goal metrics via the method "get": Conversions, Visits with at least one conversion, Conversion rate and Revenue. If you wish to request specific metrics about Ecommerce goals, you can set the parameter &idGoal=ecommerceAbandonedCart to get metrics about abandoned carts (including Lost revenue, and number of items left in the cart) or &idGoal=ecommerceOrder to get metrics about Ecommerce orders (number of orders, visits with an order, subtotal, tax, shipping, discount, revenue, items ordered) See also the documentation about Tracking Goals in Matomo.
- Goals.getGoal (idSite, idGoal) [ No example available ]
- Goals.getGoals (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Goals.addGoal (idSite, name, matchAttribute, pattern, patternType, caseSensitive = '', revenue = '', allowMultipleConversionsPerVisit = '', description = '', useEventValueAsRevenue = '') [ No example available ]
- Goals.updateGoal (idSite, idGoal, name, matchAttribute, pattern, patternType, caseSensitive = '', revenue = '', allowMultipleConversionsPerVisit = '', description = '', useEventValueAsRevenue = '') [ No example available ]
- Goals.deleteGoal (idSite, idGoal) [ No example available ]
- Goals.getItemsSku (idSite, period, date, abandonedCarts = '', segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Goals.getItemsName (idSite, period, date, abandonedCarts = '', segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Goals.getItemsCategory (idSite, period, date, abandonedCarts = '', segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Goals.get (idSite, period, date, segment = '', idGoal = '', columns = 'Array', showAllGoalSpecificMetrics = '', compare = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Goals.getDaysToConversion (idSite, period, date, segment = '', idGoal = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Goals.getVisitsUntilConversion (idSite, period, date, segment = '', idGoal = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module HeatmapSessionRecording

API for plugin Heatmap & Session Recording. When you request activity data for a heatmap or a recorded session, please note that any X or Y coordinate, scroll reach position, and above the fold is relative and not absolute. X and Y coordinate are between 0 and 2000 and are relative to the selector where 2000 means the position is at 100% of the element, 1000 means the position is at 50% and 0 means the position is actually 0 pixel from the element. Scroll and above the fold positions are between 0 and 1000. If for example a web page is 3000 pixel high, and scroll reach is 100, it means the user has seen the content up to 300 pixels (10%, or 100 of 1000). We differentiate between two different IDs here: idSiteHsr represents the ID of a heatmap or session recording configuration idLogHsr represents the ID of an actually recorded / tracked session or heatmap activity
- HeatmapSessionRecording.addHeatmap (idSite, name, matchPageRules, sampleLimit = '1000', sampleRate = '5', excludedElements = '', screenshotUrl = '', breakpointMobile = '', breakpointTablet = '', captureDomManually = '') [ No example available ]
- HeatmapSessionRecording.updateHeatmap (idSite, idSiteHsr, name, matchPageRules, sampleLimit = '1000', sampleRate = '5', excludedElements = '', screenshotUrl = '', breakpointMobile = '', breakpointTablet = '', captureDomManually = '') [ No example available ]
- HeatmapSessionRecording.deleteHeatmapScreenshot (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.addSessionRecording (idSite, name, matchPageRules = 'Array', sampleLimit = '1000', sampleRate = '10', minSessionTime = '0', requiresActivity = '1', captureKeystrokes = '1') [ No example available ]
- HeatmapSessionRecording.updateSessionRecording (idSite, idSiteHsr, name, matchPageRules = 'Array', sampleLimit = '1000', sampleRate = '10', minSessionTime = '0', requiresActivity = '1', captureKeystrokes = '1') [ No example available ]
- HeatmapSessionRecording.getHeatmap (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.getSessionRecording (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.pauseHeatmap (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.resumeHeatmap (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.deleteHeatmap (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.endHeatmap (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.pauseSessionRecording (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.resumeSessionRecording (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.deleteSessionRecording (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.endSessionRecording (idSite, idSiteHsr) [ No example available ]
- HeatmapSessionRecording.getHeatmaps (idSite, includePageTreeMirror = '1') [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getSessionRecordings (idSite) [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getRecordedSessions (idSite, period, date, idSiteHsr, segment = '', idSubtable = '') [ No example available ]
- HeatmapSessionRecording.getRecordedSession (idSite, idSiteHsr, idLogHsr) [ No example available ]
- HeatmapSessionRecording.deleteRecordedSession (idSite, idSiteHsr, idVisit) [ No example available ]
- HeatmapSessionRecording.deleteRecordedPageview (idSite, idSiteHsr, idLogHsr) [ No example available ]
- HeatmapSessionRecording.getRecordedHeatmapMetadata (idSite, period, date, idSiteHsr, segment = '') [ No example available ]
- HeatmapSessionRecording.getRecordedHeatmap (idSite, period, date, idSiteHsr, heatmapType, deviceType, segment = '') [ No example available ]
- HeatmapSessionRecording.getEmbedSessionInfo (idSite, idSiteHsr, idLogHsr) [ No example available ]
- HeatmapSessionRecording.testUrlMatchPages (url, matchPageRules = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getAvailableStatuses () [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getAvailableTargetPageRules () [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getAvailableDeviceTypes () [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getAvailableHeatmapTypes () [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getAvailableSessionRecordingSampleLimits () [ Example in XML, Json, Tsv (Excel) ]
- HeatmapSessionRecording.getEventTypes () [ Example in XML, Json, Tsv (Excel) ]

Module ImageGraph

The ImageGraph.get API call lets you generate beautiful static PNG Graphs for any existing Matomo report. Supported graph types are: line plot, 2D/3D pie chart and vertical bar chart. A few notes about some of the parameters available:
- $graphType defines the type of graph plotted, accepted values are: 'evolution', 'verticalBar', 'pie' and '3dPie'
- $colors accepts a comma delimited list of colors that will overwrite the default Matomo colors
- you can also customize the width, height, font size, metric being plotted (in case the data contains multiple columns/metrics). See also How to embed static Image Graphs? for more information.
- ImageGraph.get (idSite, period, date, apiModule, apiAction, graphType = '', outputType = '0', columns = '', labels = '', showLegend = '1', width = '', height = '', fontSize = '9', legendFontSize = '', aliasedGraph = '1', idGoal = '', colors = '', textColor = '222222', backgroundColor = 'FFFFFF', gridColor = 'CCCCCC', idSubtable = '', legendAppendMetric = '1', segment = '', idDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module Insights

API for plugin Insights
- Insights.canGenerateInsights (date, period) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Insights.getInsightsOverview (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Insights.getMoversAndShakersOverview (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Insights.getMoversAndShakers (idSite, period, date, reportUniqueId, segment = '', comparedToXPeriods = '1', limitIncreaser = '4', limitDecreaser = '4') [ No example available ]
- Insights.getInsights (idSite, period, date, reportUniqueId, segment = '', limitIncreaser = '5', limitDecreaser = '5', filterBy = '', minImpactPercent = '2', minGrowthPercent = '20', comparedToXPeriods = '1', orderBy = 'absolute') [ No example available ]

Module LanguagesManager

The LanguagesManager API lets you access existing Matomo translations, and change Users languages preferences. "getTranslationsForLanguage" will return all translation strings for a given language, so you can leverage Matomo translations in your application (and automatically benefit from the 40+ translations!). This is mostly useful to developers who integrate Matomo API results in their own application. You can also request the default language to load for a user via "getLanguageForUser", or update it via "setLanguageForUser".
- LanguagesManager.isLanguageAvailable (languageCode) [ Example in XML, Json, Tsv (Excel) ]
- LanguagesManager.getAvailableLanguages () [ Example in XML, Json, Tsv (Excel) ]
- LanguagesManager.getAvailableLanguagesInfo (excludeNonCorePlugins = '1') [ Example in XML, Json, Tsv (Excel) ]
- LanguagesManager.getAvailableLanguageNames () [ Example in XML, Json, Tsv (Excel) ]
- LanguagesManager.getTranslationsForLanguage (languageCode) [ Example in XML, Json, Tsv (Excel) ]
- LanguagesManager.getLanguageForUser (login) [ No example available ]
- LanguagesManager.setLanguageForUser (login, languageCode) [ No example available ]
- LanguagesManager.uses12HourClockForUser (login) [ No example available ]
- LanguagesManager.set12HourClockForUser (login, use12HourClock) [ No example available ]

Module Live

The Live! API lets you access complete visit level information about your visitors. Combined with the power of Segmentation, you will be able to request visits filtered by any criteria. The method "getLastVisitsDetails" will return extensive RAW data for each visit, which includes: server time, visitId, visitorId, visitorType (new or returning), number of pages, list of all pages (and events, file downloaded and outlinks clicked), custom variables names and values set to this visit, number of goal conversions (and list of all Goal conversions for this visit, with time of conversion, revenue, URL, etc.), but also other attributes such as: days since last visit, days since first visit, country, continent, visitor IP, provider, referrer used (referrer name, keyword if it was a search engine, full URL), campaign name and keyword, operating system, browser, type of screen, resolution, supported browser plugins (flash, java, silverlight, pdf, etc.), various dates & times format to make it easier for API users... and more! With the parameter '&segment=' you can filter the returned visits by any criteria (visitor IP, visitor ID, country, keyword used, time of day, etc.). The method "getCounters" is used to return a simple counter: visits, number of actions, number of converted visits, in the last N minutes. See also the documentation about Real time widget and visitor level reports in Matomo. You may also be interested in steps to export your RAW data to a data warehouse.
- Live.getCounters (idSite, int lastMinutes, segment = '', showColumns = 'Array', hideColumns = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- Live.getLastVisitsDetails (idSite, period = '', date = '', segment = '', countVisitorsToFetch = '', minTimestamp = '', flat = '', doNotFetchActions = '', enhanced = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Live.getVisitorProfile (idSite, visitorId = '', segment = '', limitVisits = '') [ Example in XML, Json, Tsv (Excel) ]
- Live.getMostRecentVisitorId (idSite, segment = '') [ Example in XML, Json, Tsv (Excel) ]

Module Login

API for plugin Login
- Login.unblockBruteForceIPs () [ Example in XML, Json, Tsv (Excel) ]

Module MarketingCampaignsReporting

API for plugin MarketingCampaignsReporting
- MarketingCampaignsReporting.getId (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getName (idSite, period, date, segment = '', expanded = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getKeywordContentFromNameId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- MarketingCampaignsReporting.getKeyword (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getSource (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getMedium (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getContent (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getGroup (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getPlacement (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getSourceMedium (idSite, period, date, segment = '', expanded = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MarketingCampaignsReporting.getNameFromSourceMediumId (idSite, period, date, idSubtable, segment = '') [ No example available ]

Module MediaAnalytics

The MediaAnalytics API lets you request your reports about how your Video and Audio are accessed and viewed on your websites and apps. Some of the methods return Real Time information (similarly to the Live! API), while others return all your videos and audios and their key metrics.

The real time methods can return information about the last N minutes (or last N hours). They include the following:
The other methods return the aggregated analytics reports for Video and Audio:
- MediaAnalytics.hasRecords (idSite) [ Example in XML, Json, Tsv (Excel) ]
- MediaAnalytics.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getCurrentNumPlays (idSite, lastMinutes, segment = '') [ Example in XML, Json, Tsv (Excel) ]
- MediaAnalytics.getCurrentSumTimeSpent (idSite, lastMinutes, segment = '') [ Example in XML, Json, Tsv (Excel) ]
- MediaAnalytics.getCurrentMostPlays (idSite, lastMinutes, filter_limit = '5', segment = '') [ Example in XML, Json, Tsv (Excel) ]
- MediaAnalytics.getVideoResources (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getAudioResources (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getVideoTitles (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getAudioTitles (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getGroupedVideoResources (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getGroupedAudioResources (idSite, period, date, segment = '', idSubtable = '', secondaryDimension = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getVideoHours (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getAudioHours (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getVideoResolutions (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MediaAnalytics.getPlayers (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module MobileMessaging

The MobileMessaging API lets you manage and access all the MobileMessaging plugin features including : - manage SMS API credential - activate phone numbers - check remaining credits - send SMS
- MobileMessaging.areSMSAPICredentialProvided () [ Example in XML, Json, Tsv (Excel) ]
- MobileMessaging.getSMSProvider () [ Example in XML, Json, Tsv (Excel) ]
- MobileMessaging.setSMSAPICredential (provider, credentials = 'Array') [ No example available ]
- MobileMessaging.addPhoneNumber (phoneNumber) [ No example available ]
- MobileMessaging.getCreditLeft () [ Example in XML, Json, Tsv (Excel) ]
- MobileMessaging.removePhoneNumber (phoneNumber) [ No example available ]
- MobileMessaging.validatePhoneNumber (phoneNumber, verificationCode) [ No example available ]
- MobileMessaging.deleteSMSAPICredential () [ Example in XML, Json, Tsv (Excel) ]
- MobileMessaging.setDelegatedManagement (delegatedManagement) [ No example available ]
- MobileMessaging.getDelegatedManagement () [ Example in XML, Json, Tsv (Excel) ]

Module MultiChannelConversionAttribution

Multi Channel Conversion Attribution API
- MultiChannelConversionAttribution.setGoalAttribution (idSite, idGoal, isEnabled) [ No example available ]
- MultiChannelConversionAttribution.getGoalAttribution (idSite, idGoal) [ No example available ]
- MultiChannelConversionAttribution.getChannelAttribution (idSite, period, date, idGoal, idCampaignDimensionCombination = '0', segment = '', expanded = '', flat = '', idSubtable = '') [ No example available ]
- MultiChannelConversionAttribution.getAvailableCampaignDimensionCombinations () [ Example in XML, Json, Tsv (Excel) ]
- MultiChannelConversionAttribution.getSiteAttributionGoals (idSite) [ Example in XML, Json, Tsv (Excel) ]

Module MultiSites

The MultiSites API lets you request the key metrics (visits, page views, revenue) for all Websites in Matomo.
- MultiSites.getAll (period, date, segment = '', enhanced = '', pattern = '', showColumns = 'Array') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MultiSites.getOne (idSite, period, date, segment = '', enhanced = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- MultiSites.getAllWithGroups (period = '', date = '', segment = '', pattern = '', filter_limit = '0') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module Overlay

Class API
- Overlay.getTranslations (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Overlay.getExcludedQueryParameters (idSite) [ Example in XML, Json, Tsv (Excel) ]
- Overlay.getFollowingPages (url, idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module PagePerformance

- PagePerformance.get (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module PrivacyManager

API for plugin PrivacyManager
- PrivacyManager.deleteDataSubjects (visits) [ No example available ]
- PrivacyManager.exportDataSubjects (visits) [ No example available ]
- PrivacyManager.findDataSubjects (idSite, segment) [ No example available ]
- PrivacyManager.anonymizeSomeRawData (idSites, date, anonymizeIp = '', anonymizeLocation = '', anonymizeUserId = '', unsetVisitColumns = 'Array', unsetLinkVisitActionColumns = 'Array', passwordConfirmation = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- PrivacyManager.getAvailableVisitColumnsToAnonymize () [ Example in XML, Json, Tsv (Excel) ]
- PrivacyManager.getAvailableLinkVisitActionColumnsToAnonymize () [ Example in XML, Json, Tsv (Excel) ]

Module Referrers

The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website. For example, "getKeywords" returns all search engine keywords (with general analytics metrics for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set). "getReferrerType" returns the Referrer overview report. "getCampaigns" returns the list of all campaigns (and all campaign keywords if the parameter &expanded=1 is set).
- Referrers.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getReferrerType (idSite, period, date, segment = '', typeReferrer = '', idSubtable = '', expanded = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getAll (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getKeywords (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getSearchEnginesFromKeywordId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Referrers.getSearchEngines (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getKeywordsFromSearchEngineId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Referrers.getCampaigns (idSite, period, date, segment = '', expanded = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getKeywordsFromCampaignId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Referrers.getWebsites (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getUrlsFromWebsiteId (idSite, period, date, idSubtable, segment = '') [ No example available ]
- Referrers.getSocials (idSite, period, date, segment = '', expanded = '', flat = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getUrlsForSocial (idSite, period, date, segment = '', idSubtable = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctSearchEngines (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctSocialNetworks (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctKeywords (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctCampaigns (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctWebsites (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Referrers.getNumberOfDistinctWebsitesUrls (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module Resolution

- Resolution.getResolution (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Resolution.getConfiguration (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module RollUpReporting

API for plugin RollUpReporting
- RollUpReporting.addRollUp (name, sourceIdSites, timezone, currency) [ No example available ]
- RollUpReporting.updateRollUp (idSite, name = '', sourceIdSites = '', timezone = '', currency = '') [ Example in XML, Json, Tsv (Excel) ]
- RollUpReporting.getRollUps () [ Example in XML, Json, Tsv (Excel) ]

Module SEO

The SEO API lets you access a list of SEO metrics for the specified URL: Google PageRank, Google/Bing indexed pages and age of the Domain name.
- SEO.getRank (url) [ Example in XML, Json, Tsv (Excel) ]

Module ScheduledReports

The ScheduledReports API lets you manage Scheduled Email reports, as well as generate, download or email any existing report. "generateReport" will generate the requested report (for a specific date range, website and in the requested language). "sendReport" will send the report by email to the recipients specified for this report. You can also get the list of all existing reports via "getReports", create new reports via "addReport", or manage existing reports with "updateReport" and "deleteReport". See also the documentation about Scheduled Email reports in Matomo.
- ScheduledReports.addReport (idSite, description, period, hour, reportType, reportFormat, reports, parameters, idSegment = '', evolutionPeriodFor = 'prev', evolutionPeriodN = '', periodParam = '') [ No example available ]
- ScheduledReports.updateReport (idReport, idSite, description, period, hour, reportType, reportFormat, reports, parameters, idSegment = '', evolutionPeriodFor = 'prev', evolutionPeriodN = '', periodParam = '') [ No example available ]
- ScheduledReports.deleteReport (idReport) [ No example available ]
- ScheduledReports.getReports (idSite = '', period = '', idReport = '', ifSuperUserReturnOnlySuperUserReports = '', idSegment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- ScheduledReports.generateReport (idReport, date, language = '', outputType = '', period = '', reportFormat = '', parameters = '') [ No example available ]
- ScheduledReports.sendReport (idReport, period = '', date = '', force = '') [ No example available ]

Module SearchEngineKeywordsPerformance

The SearchEngineKeywordsPerformance API lets you download all your SEO search keywords from Google, Bing & Yahoo and Yandex, as well as getting a detailed overview of how search robots crawl your websites and any error they may encounter.

1) download all your search keywords as they were searched on Google, Bing & Yahoo and Yandex. This includes Google Images, Google Videos and Google News. This lets you view all keywords normally hidden from view behind "keyword not defined". With this plugin you can view them all!

2) download all crawling overview stats and metrics from Bring and Yahoo and Google. Many metrics are available such as: Crawled pages, Crawl errors, Connection timeouts, HTTP-Status Code 301 (Permanently moved), HTTP-Status Code 400-499 (Request errors), All other HTTP-Status Codes, Total pages in index, Robots.txt exclusion, DNS failures, HTTP-Status Code 200-299, HTTP-Status Code 301 (Temporarily moved), HTTP-Status Code 500-599 (Internal server errors), Malware infected sites, Total inbound links. \Plugins\SearchEngineKeywordsPerformance
- SearchEngineKeywordsPerformance.getKeywords (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsImported (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsGoogle (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsBing (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsYandex (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsGoogleWeb (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsGoogleImage (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsGoogleVideo (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getKeywordsGoogleNews (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getCrawlingOverviewBing (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getCrawlingOverviewYandex (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- SearchEngineKeywordsPerformance.getCrawlingErrorExamplesBing (idSite) [ Example in XML, Json, Tsv (Excel) ]

Module SegmentEditor

The SegmentEditor API lets you add, update, delete custom Segments, and list saved segments.
- SegmentEditor.isUserCanAddNewSegment (idSite) [ Example in XML, Json, Tsv (Excel) ]
- SegmentEditor.delete (idSegment) [ No example available ]
- SegmentEditor.update (idSegment, name, definition, idSite = '', autoArchive = '', enabledAllUsers = '') [ No example available ]
- SegmentEditor.add (name, definition, idSite = '', autoArchive = '', enabledAllUsers = '') [ No example available ]
- SegmentEditor.get (idSegment) [ No example available ]
- SegmentEditor.getAll (idSite = '') [ Example in XML, Json, Tsv (Excel) ]

Module SitesManager

The SitesManager API gives you full control on Websites in Matomo (create, update and delete), and many methods to retrieve websites based on various attributes. This API lets you create websites via "addSite", update existing websites via "updateSite" and delete websites via "deleteSite". When creating websites, it can be useful to access internal codes used by Matomo for currencies via "getCurrencyList", or timezones via "getTimezonesList". There are also many ways to request a list of websites: from the website ID via "getSiteFromId" or the site URL via "getSitesIdFromSiteUrl". Often, the most useful technique is to list all websites that are known to a current user, based on the token_auth, via "getSitesWithAdminAccess", "getSitesWithViewAccess" or "getSitesWithAtLeastViewAccess" (which returns both). Some methods will affect all websites globally: "setGlobalExcludedIps" will set the list of IPs to be excluded on all websites, "setGlobalExcludedQueryParameters" will set the list of URL parameters to remove from URLs for all websites. The existing values can be fetched via "getExcludedIpsGlobal" and "getExcludedQueryParametersGlobal". See also the documentation about Managing Websites in Matomo.
- SitesManager.getJavascriptTag (int idSite, string piwikUrl = '', bool mergeSubdomains = false, bool groupPageTitlesByDomain = false, bool mergeAliasUrls = false, array visitorCustomVariables = 'Array', array pageCustomVariables = 'Array', string customCampaignNameQueryParam = '', string customCampaignKeywordParam = '', bool doNotTrack = false, bool disableCookies = false, bool trackNoScript = false, bool crossDomain = false, bool forceMatomoEndpoint = false, excludedQueryParams = '', excludedReferrers = '') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getImageTrackingCode (idSite, piwikUrl = '', actionName = '', idGoal = '', revenue = '', forceMatomoEndpoint = '') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesFromGroup (group = '') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesGroups () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSiteFromId (idSite) [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSiteUrlsFromId (idSite) [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getAllSites () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getAllSitesId () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesWithAdminAccess (fetchAliasUrls = '', pattern = '', limit = '', sitesToExclude = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesWithViewAccess () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesWithAtLeastViewAccess (limit = '') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesIdWithAdminAccess () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesIdWithViewAccess () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesIdWithWriteAccess () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesIdWithAtLeastViewAccess () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSitesIdFromSiteUrl (url) [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.addSite (siteName, urls = '', ecommerce = '', siteSearch = '', searchKeywordParameters = '', searchCategoryParameters = '', excludedIps = '', excludedQueryParameters = '', timezone = '', currency = '', group = '', startDate = '', excludedUserAgents = '', keepURLFragments = '', type = '', settingValues = '', excludeUnknownUrls = '', excludedReferrers = '') [ No example available ]
- SitesManager.getSiteSettings (idSite) [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.deleteSite (idSite, passwordConfirmation = '') [ No example available ]
- SitesManager.addSiteAliasUrls (idSite, urls) [ No example available ]
- SitesManager.setSiteAliasUrls (idSite, urls = 'Array') [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getIpsForRange (ipRange) [ No example available ]
- SitesManager.setGlobalExcludedIps (excludedIps) [ No example available ]
- SitesManager.setGlobalSearchParameters (searchKeywordParameters, searchCategoryParameters) [ No example available ]
- SitesManager.getSearchKeywordParametersGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getSearchCategoryParametersGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getExcludedQueryParametersGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getExcludedUserAgentsGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.setGlobalExcludedUserAgents (excludedUserAgents) [ No example available ]
- SitesManager.getExcludedReferrers (idSite) [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getExcludedReferrersGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.setGlobalExcludedReferrers (string excludedReferrers) [ No example available ]
- SitesManager.getKeepURLFragmentsGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.setKeepURLFragmentsGlobal (enabled) [ No example available ]
- SitesManager.setGlobalExcludedQueryParameters (excludedQueryParameters) [ No example available ]
- SitesManager.getExcludedIpsGlobal () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getDefaultCurrency () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.setDefaultCurrency (defaultCurrency) [ No example available ]
- SitesManager.getDefaultTimezone () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.setDefaultTimezone (defaultTimezone) [ No example available ]
- SitesManager.updateSite (idSite, siteName = '', urls = '', ecommerce = '', siteSearch = '', searchKeywordParameters = '', searchCategoryParameters = '', excludedIps = '', excludedQueryParameters = '', timezone = '', currency = '', group = '', startDate = '', excludedUserAgents = '', keepURLFragments = '', type = '', settingValues = '', excludeUnknownUrls = '', excludedReferrers = '') [ No example available ]
- SitesManager.getCurrencyList () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getCurrencySymbols () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.isTimezoneSupportEnabled () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getTimezonesList () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.getTimezoneName (timezone, countryCode = '', multipleTimezonesInCountry = '') [ No example available ]
- SitesManager.getUniqueSiteTimezones () [ Example in XML, Json, Tsv (Excel) ]
- SitesManager.renameGroup (oldGroupName, newGroupName) [ No example available ]
- SitesManager.getPatternMatchSites (pattern, limit = '', sitesToExclude = 'Array') [ No example available ]
- SitesManager.getNumWebsitesToDisplayPerPage () [ Example in XML, Json, Tsv (Excel) ]

Module TagManager

API for plugin Tag Manager. Lets you configure all your containers, create, update and delete tags, triggers, and variables. Create and publish new releases, enable and disable preview/debug mode, and much more. Please note: A container may have several versions. The current version that a user is editing is called the "draft" version. You can get the ID of the "draft" version by calling {@link TagManager.getContainer}.
- TagManager.getAvailableContexts () [ Example in XML, Json, Tsv (Excel) ]
- TagManager.getAvailableEnvironments () [ Example in XML, Json, Tsv (Excel) ]
- TagManager.getAvailableEnvironmentsWithPublishCapability (idSite) [ Example in XML, Json, Tsv (Excel) ]
- TagManager.getAvailableTagFireLimits () [ Example in XML, Json, Tsv (Excel) ]
- TagManager.getAvailableComparisons () [ Example in XML, Json, Tsv (Excel) ]
- TagManager.getAvailableTagTypesInContext (idContext) [ No example available ]
- TagManager.getAvailableTriggerTypesInContext (idContext) [ No example available ]
- TagManager.getAvailableVariableTypesInContext (idContext) [ No example available ]
- TagManager.getContainerEmbedCode (idSite, idContainer, environment) [ No example available ]
- TagManager.getContainerInstallInstructions (idSite, idContainer, environment, jsFramework = '') [ No example available ]
- TagManager.getContainerTags (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.createDefaultContainerForSite (idSite) [ Example in XML, Json, Tsv (Excel) ]
- TagManager.addContainerTag (idSite, idContainer, idContainerVersion, type, name, parameters = 'Array', fireTriggerIds = 'Array', blockTriggerIds = 'Array', fireLimit = 'unlimited', fireDelay = '0', priority = '999', startDate = '', endDate = '', description = '') [ No example available ]
- TagManager.updateContainerTag (idSite, idContainer, idContainerVersion, idTag, name, parameters = 'Array', fireTriggerIds = 'Array', blockTriggerIds = 'Array', fireLimit = 'unlimited', fireDelay = '0', priority = '999', startDate = '', endDate = '', description = '') [ No example available ]
- TagManager.deleteContainerTag (idSite, idContainer, idContainerVersion, idTag) [ No example available ]
- TagManager.getContainerTag (idSite, idContainer, idContainerVersion, idTag) [ No example available ]
- TagManager.getContainerTriggerReferences (idSite, idContainer, idContainerVersion, idTrigger) [ No example available ]
- TagManager.getContainerTriggers (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.addContainerTrigger (idSite, idContainer, idContainerVersion, type, name, parameters = 'Array', conditions = 'Array', description = '') [ No example available ]
- TagManager.updateContainerTrigger (idSite, idContainer, idContainerVersion, idTrigger, name, parameters = 'Array', conditions = 'Array', description = '') [ No example available ]
- TagManager.deleteContainerTrigger (idSite, idContainer, idContainerVersion, idTrigger) [ No example available ]
- TagManager.getContainerTrigger (idSite, idContainer, idContainerVersion, idTrigger) [ No example available ]
- TagManager.getContainerVariableReferences (idSite, idContainer, idContainerVersion, idVariable) [ No example available ]
- TagManager.getContainerVariables (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.getAvailableContainerVariables (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.addContainerVariable (idSite, idContainer, idContainerVersion, type, name, parameters = 'Array', defaultValue = '', lookupTable = 'Array', description = '') [ No example available ]
- TagManager.updateContainerVariable (idSite, idContainer, idContainerVersion, idVariable, name, parameters = 'Array', defaultValue = '', lookupTable = 'Array', description = '') [ No example available ]
- TagManager.deleteContainerVariable (idSite, idContainer, idContainerVersion, idVariable) [ No example available ]
- TagManager.getContainerVariable (idSite, idContainer, idContainerVersion, idVariable) [ No example available ]
- TagManager.getContainers (idSite) [ Example in XML, Json, Tsv (Excel) ]
- TagManager.addContainer (idSite, context, name, description = '', ignoreGtmDataLayer = '0') [ No example available ]
- TagManager.updateContainer (idSite, idContainer, name, description = '', ignoreGtmDataLayer = '0') [ No example available ]
- TagManager.createContainerVersion (idSite, idContainer, name, description = '', idContainerVersion = '') [ No example available ]
- TagManager.updateContainerVersion (idSite, idContainer, idContainerVersion, name, description = '') [ No example available ]
- TagManager.getContainerVersions (idSite, idContainer) [ No example available ]
- TagManager.getContainerVersion (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.deleteContainerVersion (idSite, idContainer, idContainerVersion) [ No example available ]
- TagManager.publishContainerVersion (idSite, idContainer, idContainerVersion, environment) [ No example available ]
- TagManager.deleteContainer (idSite, idContainer) [ No example available ]
- TagManager.getContainer (idSite, idContainer) [ No example available ]
- TagManager.enablePreviewMode (idSite, idContainer, idContainerVersion = '') [ No example available ]
- TagManager.disablePreviewMode (idSite, idContainer) [ No example available ]
- TagManager.changeDebugUrl (idSite, url) [ Example in XML, Json, Tsv (Excel) ]
- TagManager.exportContainerVersion (idSite, idContainer, idContainerVersion = '') [ No example available ]
- TagManager.importContainerVersion (exportedContainerVersion, idSite, idContainer, backupName = '') [ No example available ]

Module Tour

API for Tour plugin which helps you getting familiar with Matomo.
- Tour.getChallenges () [ Example in XML, Json, Tsv (Excel) ]
- Tour.skipChallenge (id) [ No example available ]
- Tour.getLevel () [ Example in XML, Json, Tsv (Excel) ]

Module Transitions

- Transitions.getTransitionsForPageTitle (string pageTitle, idSite, period, date, segment = '', limitBeforeGrouping = '0') [ No example available ]
- Transitions.getTransitionsForPageUrl (string pageUrl, idSite, period, date, segment = '', limitBeforeGrouping = '0') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- Transitions.getTransitionsForAction (string actionName, string actionType, idSite, period, date, segment = '', limitBeforeGrouping = '0', parts = 'all') [ No example available ]
- Transitions.getTranslations () [ Example in XML, Json, Tsv (Excel) ]
- Transitions.isPeriodAllowed (idSite, period, date) [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module TwoFactorAuth

- TwoFactorAuth.resetTwoFactorAuth (userLogin, passwordConfirmation) [ No example available ]

Module UserCountry

The UserCountry API lets you access reports about your visitors' Countries and Continents.
- UserCountry.getCountry (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UserCountry.getContinent (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UserCountry.getRegion (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UserCountry.getCity (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UserCountry.getCountryCodeMapping () [ Example in XML, Json, Tsv (Excel) ]
- UserCountry.getLocationFromIP (ip = '', provider = '') [ Example in XML, Json, Tsv (Excel) ]
- UserCountry.setLocationProvider (providerId) [ No example available ]
- UserCountry.getNumberOfDistinctCountries (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module UserId

API for plugin UserId. Allows to get User IDs table.
- UserId.getUsers (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module UserLanguage

The UserLanguage API lets you access reports about your Visitors language setting
- UserLanguage.getLanguage (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UserLanguage.getLanguageCode (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module UsersFlow

API for Users Flow. The API lets you explore details about how your users or visitors navigate through your website.
- UsersFlow.getUsersFlowPretty (idSite, period, date, segment = '', expanded = '', flat = '', idSubtable = '', dataSource = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UsersFlow.getUsersFlow (idSite, period, date, limitActionsPerStep = '5', exploreStep = '', exploreUrl = '', segment = '', expanded = '', dataSource = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- UsersFlow.getInteractionActions (idSite, period, date, interactionPosition, offsetActionsPerStep = '', segment = '', idSubtable = '', dataSource = '') [ No example available ]
- UsersFlow.getAvailableDataSources () [ Example in XML, Json, Tsv (Excel) ]

Module UsersManager

The UsersManager API lets you Manage Users and their permissions to access specific websites. You can create users via "addUser", update existing users via "updateUser" and delete users via "deleteUser". There are many ways to list users based on their login "getUser" and "getUsers", their email "getUserByEmail", or which users have permission (view or admin) to access the specified websites "getUsersWithSiteAccess". Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite", or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated via the method "setUserAccess". See also the documentation about Managing Users in Matomo.
- UsersManager.getAvailableRoles () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getAvailableCapabilities () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.setUserPreference (userLogin, preferenceName, preferenceValue) [ No example available ]
- UsersManager.getUserPreference (preferenceName, userLogin = '') [ No example available ]
- UsersManager.getUsersPlusRole (idSite, limit = '', offset = '0', filter_search = '', filter_access = '', filter_status = '') [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsers (userLogins = '') [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsersLogin () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsersSitesFromAccess (access) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsersAccessFromSite (idSite) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsersWithSiteAccess (idSite, access) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getSitesAccessFromUser (userLogin) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getSitesAccessForUser (userLogin, limit = '', offset = '0', filter_search = '', filter_access = '') [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUser (userLogin) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUserByEmail (userEmail) [ No example available ]
- UsersManager.addUser (userLogin, password, email, initialIdSite = '', passwordConfirmation = '') [ No example available ]
- UsersManager.inviteUser (userLogin, email, initialIdSite = '', expiryInDays = '', passwordConfirmation = '') [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.setSuperUserAccess (userLogin, hasSuperUserAccess, passwordConfirmation = '') [ No example available ]
- UsersManager.hasSuperUserAccess () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.getUsersHavingSuperUserAccess () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.updateUser (userLogin, password = '', email = '', passwordConfirmation = '') [ No example available ]
- UsersManager.deleteUser (userLogin, passwordConfirmation = '') [ No example available ]
- UsersManager.userExists (userLogin) [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.userEmailExists (userEmail) [ No example available ]
- UsersManager.getUserLoginFromUserEmail (userEmail) [ No example available ]
- UsersManager.setUserAccess (userLogin, access, idSites) [ No example available ]
- UsersManager.addCapabilities (userLogin, capabilities, idSites) [ No example available ]
- UsersManager.removeCapabilities (userLogin, capabilities, idSites) [ No example available ]
- UsersManager.createAppSpecificTokenAuth (userLogin, passwordConfirmation, description, expireDate = '', expireHours = '0') [ No example available ]
- UsersManager.newsletterSignup () [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.resendInvite (userLogin, expiryInDays = '7', passwordConfirmation = '') [ Example in XML, Json, Tsv (Excel) ]
- UsersManager.generateInviteLink (userLogin, expiryInDays = '7', passwordConfirmation = '') [ Example in XML, Json, Tsv (Excel) ]

Module VisitFrequency

VisitFrequency API lets you access a list of metrics related to Returning Visitors.
- VisitFrequency.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module VisitTime

VisitTime API lets you access reports by Hour (Server time), and by Hour Local Time of your visitors.
- VisitTime.getVisitInformationPerLocalTime (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitTime.getVisitInformationPerServerTime (idSite, period, date, segment = '', hideFutureHoursWhenToday = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitTime.getByDayOfWeek (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module VisitorInterest

VisitorInterest API lets you access two Visitor Engagement reports: number of visits per number of pages, and number of visits per visit duration.
- VisitorInterest.getNumberOfVisitsPerVisitDuration (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitorInterest.getNumberOfVisitsPerPage (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitorInterest.getNumberOfVisitsByDaysSinceLast (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitorInterest.getNumberOfVisitsByVisitCount (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]

Module VisitsSummary

VisitsSummary API lets you access the core web analytics metrics (visits, unique visitors, count of actions (page views & downloads & clicks on outlinks), time on site, bounces and converted visits.
- VisitsSummary.get (idSite, period, date, segment = '', columns = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getVisits (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getUniqueVisitors (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getUsers (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getActions (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getMaxActions (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getBounceCount (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getVisitsConverted (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getSumVisitsLength (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]
- VisitsSummary.getSumVisitsLengthPretty (idSite, period, date, segment = '') [ Example in XML, Json, Tsv (Excel) , RSS of the last 10 days ]