Flexible office price medians for one city. Loads api.coworkingview.com; no visitor data is sent.
Flexible office prices (CoworkingView) is a dashboard widget. It shows median flexible office prices for one city, the 25th and 75th percentiles, the sample size, and how many workspaces are listed there.
The widget loads external data from https://api.coworkingview.com. The Matomo server calls that public API when someone views a dashboard that contains the widget. No API key is required. The only value taken from Matomo settings is the city a superuser or the current user chose. Each request also sends a fixed locale=en, because the API rejects a call that omits the locale, and pageSize=1 on the workspace request, so the widget can read the catalogue total. No visitor data is sent: no visitor id, no user id, no page URL, and no analytics payload. The browser does not call the API. The plugin loads no external script and no external image.
A successful response is cached on the Matomo server for about 12 hours. A failed request is not cached, so the next view tries again.
berlinActivate the plugin, then add the widget from Dashboard > Add a widget > CoworkingView. A superuser sets the default city in Administration > System > General settings. Each user can set another city in Personal > Settings. Leave the personal value empty to keep the system city.
GET https://api.coworkingview.com/v1/market/rates
city (the chosen slug) and locale=en
GET https://api.coworkingview.com/v1/properties
city, locale=en, and pageSize=1
Nothing else is sent. Data by CoworkingView links to https://coworkingview.com.
The Flexible office prices (CoworkingView) widget shows Price Index medians for one city on a Matomo dashboard, plus the number of workspaces listed for that city.
CoworkingView folder to your Matomo plugins/ directory.The Matomo server must reach https://api.coworkingview.com over HTTPS.
Settings are the city slug, for example berlin or madrid.
berlin
City
Each user, Personal > Settings, section CoworkingView
Empty, which means "use the system city"
The setting text states that this city is sent to api.coworkingview.com. No other Matomo value is sent.
Rows come from GET /v1/market/rates?city=<city>&locale=en:
figures (or byType when figures is empty): product, median, 25th percentile, 75th percentile, and sample size, when those fields exist.dayPass and meetingRoom when the city object includes them.The workspace count is meta.pagination.total from GET /v1/properties?city=<city>&locale=en&pageSize=1. It is not the length of data, and it is not propertyCount on the rates payload.
The API does not send a unit. Rows from figures and byType are monthly. Day pass is per day. Meeting room is per hour. A statistic with no documented unit is left blank.
asOf and attribution are shown when the rates response includes them. Data by CoworkingView links to https://coworkingview.com.
A successful response is stored in Matomo's lazy cache for about 12 hours (43200 seconds). The cache key includes the plugin version and the city. Failures are not cached.
Figures are the public CoworkingView Price Index. The plugin does not store workspace names, photos, descriptions, or individual prices.
Yes. The Matomo server calls https://api.coworkingview.com when a dashboard containing the widget is viewed.
The requests are:
GET /v1/market/rates?city=<city>&locale=enGET /v1/properties?city=<city>&locale=en&pageSize=1city is the slug from the system setting or, when a user has set one, from the personal setting. locale=en is fixed because the API returns HTTP 400 without it. pageSize=1 is sent so the workspace response is only the count in meta.pagination.total.
No API key is sent. No visitor id, user id, page URL, or analytics payload is sent. The browser does not call the API. The plugin does not load an external script or image.
A superuser sets the default under Administration > System > General settings, section CoworkingView. The default is berlin.
Each user can set another city under Personal > Settings. Leave that value empty to use the system city.
A successful response is cached for about 12 hours. The next dashboard view after that fetches again. A failed request is not cached.
The widget stays on the dashboard and says the prices or the workspace count could not be loaded. If the API returned a problem title or detail, that text is included. The next view tries again.
The product name is optionType (or dayPass / meetingRoom). Median, 25th percentile, and 75th percentile are the amount and currency on those objects. Sample size is sampleSize. A dash means that field was not in the response.
The workspace line is meta.pagination.total. It is a different number from propertyCount on the rates payload.
Matomo 5.x, from 5.0.0-b1 up to but not including 6.0.0-b1, on PHP 8.1 or newer.
Data by CoworkingView links to https://coworkingview.com.
Version
0.1.0
License
Keywords
widget, dashboard, coworking, flexible-office, price-index, office-prices
Last Updated
Nov 1st 2026
Requirements
Matomo >=5.0.0-b1,<6.0.0-b1
PHP >=8.1.0
Matomo 5.x
Downloads
5
Changelog
Support