How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Matomo Sites Manager API

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.

Matomo Sites Manager API is one of 61 APIs that Matomo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include SitesManager. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 53 operations across 53 paths, and defines 4 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://demo-proxy.innocraft.cloud/.

53 operations 53 paths 4 schemas 53 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://{matomo_host}/index.php
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Matomo Sites Manager API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (MatomoToken). By default, every request must be authenticated.

  • MatomoToken — Paste your token generated from Personal Security. Swagger will send it as a Bearer token.

Paths & Operations 53

Across 53 paths, the API surfaces 53 operations — 53 GET. Each is listed below with its method, path, parameters, and response codes.

SitesManager 53

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…

GET
/index.php?module=API&method=SitesManager.getJavascriptTag
Returns the JavaScript tracking tag for the given website.
SitesManager.getJavascriptTag 18 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getImageTrackingCode
Returns image link tracking code for a given site with specified options.
SitesManager.getImageTrackingCode 7 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesFromGroup
Returns all websites belonging to the specified group.
SitesManager.getSitesFromGroup 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesGroups
Returns the list of website groups, including the empty group if no group was specified for some websites.
SitesManager.getSitesGroups 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteFromId
Returns the website information for a single site: name, mainurl, timezone, currency, etc.
SitesManager.getSiteFromId 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteUrlsFromId
Returns the list of all URLs registered for the given website (mainurl + alias URLs).
SitesManager.getSiteUrlsFromId 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getAllSites
Returns all websites.
SitesManager.getAllSites 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getAllSitesId
Returns the list of all the website IDs registered.
SitesManager.getAllSitesId 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithAdminAccess
Returns the list of websites with the 'admin' access for the current user.
SitesManager.getSitesWithAdminAccess 5 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithMinimumAccess
Returns the list of websites where the current user has at least the provided access level.
SitesManager.getSitesWithMinimumAccess 6 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithViewAccess
Returns the list of websites with the 'view' access for the current user.
SitesManager.getSitesWithViewAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithAtLeastViewAccess
Returns the list of websites with the 'view' or 'admin' access for the current user.
SitesManager.getSitesWithAtLeastViewAccess 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithAdminAccess
Returns the list of website IDs with the 'admin' access for the current user.
SitesManager.getSitesIdWithAdminAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithViewAccess
Returns the list of website IDs with the 'view' access for the current user.
SitesManager.getSitesIdWithViewAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithWriteAccess
Returns the list of website IDs with the 'write' access for the current user.
SitesManager.getSitesIdWithWriteAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithAtLeastViewAccess
Returns the list of website IDs with the 'view' or 'admin' access for the current user.
SitesManager.getSitesIdWithAtLeastViewAccess 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdFromSiteUrl
Returns the list of website IDs associated with a URL.
SitesManager.getSitesIdFromSiteUrl 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.addSite
Add a website.
SitesManager.addSite 20 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteSettings
Returns the editable measurable settings metadata for a website.
SitesManager.getSiteSettings 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.deleteSite
Delete a website from the database, given its ID.
SitesManager.deleteSite 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.addSiteAliasUrls
Add a list of alias URLs to the given website.
SitesManager.addSiteAliasUrls 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setSiteAliasUrls
Set the list of alias URLs for the given website.
SitesManager.setSiteAliasUrls 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getIpsForRange
Get the start and end IP addresses for an IP address range.
SitesManager.getIpsForRange 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedIps
Sets IPs to be excluded from all websites. IPs can contain wildcards.
SitesManager.setGlobalExcludedIps 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalSearchParameters
Sets global Site Search keyword/category parameter names, to be used on websites which have not specified these values individually.
SitesManager.setGlobalSearchParameters 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSearchKeywordParametersGlobal
Returns the global site search keyword parameter names.
SitesManager.getSearchKeywordParametersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSearchCategoryParametersGlobal
Returns the global site search category parameter names.
SitesManager.getSearchCategoryParametersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedQueryParameters
Returns the list of URL query parameters that are excluded for the given website
SitesManager.getExcludedQueryParameters 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedQueryParametersGlobal
Returns the list of URL query parameters that are excluded from all websites.
SitesManager.getExcludedQueryParametersGlobal 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedUserAgentsGlobal
Returns the list of user agent substrings to look for when excluding visits for all websites. If a visitor's user agent string contains one of these substrings, their visits will not be included.
SitesManager.getExcludedUserAgentsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedUserAgents
Sets list of user agent substrings to look for when excluding visits.
SitesManager.setGlobalExcludedUserAgents 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedReferrers
Returns the list of URLs/hosts that should be ignored when detecting referrers for the given site.
SitesManager.getExcludedReferrers 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedReferrersGlobal
Returns the global list of URLs/hosts that should be ignored when detecting referrers.
SitesManager.getExcludedReferrersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedReferrers
Sets list of URLs/hosts that should be ignored when detecting referrers.
SitesManager.setGlobalExcludedReferrers 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getKeepURLFragmentsGlobal
Returns whether the default global behavior is to keep URL fragments when tracking.
SitesManager.getKeepURLFragmentsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setKeepURLFragmentsGlobal
Sets whether the default behavior should be to keep URL fragments when tracking or not.
SitesManager.setKeepURLFragmentsGlobal 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedIpsGlobal
Returns the list of IPs that are excluded from all websites
SitesManager.getExcludedIpsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getDefaultCurrency
Returns the default currency that will be set when creating a website through the API.
SitesManager.getDefaultCurrency 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setDefaultCurrency
Sets the default currency that will be used when creating websites.
SitesManager.setDefaultCurrency 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getDefaultTimezone
Returns the default timezone that will be set when creating a website through the API.
SitesManager.getDefaultTimezone 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setDefaultTimezone
Sets the default timezone that will be used when creating websites.
SitesManager.setDefaultTimezone 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalQueryParamExclusion
Sets global query parameter exclusion based on the specified exclusion type.
SitesManager.setGlobalQueryParamExclusion 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExclusionTypeForQueryParams
Gets the exclusion type, if the option is not present in the store then it infers the type based on if there are custom exclusions already defined.
SitesManager.getExclusionTypeForQueryParams 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.updateSite
Update an existing website.
SitesManager.updateSite 21 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getCurrencyList
Returns the list of supported currencies.
SitesManager.getCurrencyList 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getCurrencySymbols
Returns the list of currency symbols.
SitesManager.getCurrencySymbols 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.isTimezoneSupportEnabled
Returns whether timezone support is enabled on the server.
SitesManager.isTimezoneSupportEnabled 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getTimezonesList
Returns the list of supported timezones, grouped by continent.
SitesManager.getTimezonesList 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getTimezoneName
Returns a user-friendly label for a timezone.
SitesManager.getTimezoneName 4 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getUniqueSiteTimezones
Returns the list of unique timezones from all configured sites.
SitesManager.getUniqueSiteTimezones 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.renameGroup
Renames a website group across all sites that currently use it.
SitesManager.renameGroup 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getPatternMatchSites
Find websites matching the given pattern.
SitesManager.getPatternMatchSites 4 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getNumWebsitesToDisplayPerPage
Returns the number of websites to display per page.
SitesManager.getNumWebsitesToDisplayPerPage 1 param → 200400401403404500default

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Error (3 properties), GenericSuccess (3 properties), ErrorXml (1 property), GenericSuccessXml (1 property). Each schema is shown below with its type and property counts.

GenericSuccessXml
object
Generic Matomo success payload in XML.
1 property 1 required
GenericSuccess
object
Generic Matomo success payload.
3 properties 2 required
ErrorXml
object
Generic Matomo error payload in XML.
1 property
Error
object
Generic Matomo error payload.
3 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

matomo-sitesmanager-api-openapi.yml Raw ↑

Other APIs Matomo publishes across the network.

Matomo Reporting API (index.php entrypoint)
Matomo Tracking API (matomo.php entrypoint)
Matomo Ab Testing API
Matomo Actions API
Matomo Activity Log API
Matomo Advertising Conversion Export API
Matomo Annotations API
Matomo API
Matomo API Reference API
Matomo Bandwidth API
Matomo Cohorts API
Matomo Contents API
Where this information came from

This is an independent, third-party profile of Matomo Sites Manager API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.