Agenda stats (ad statistics)
Statistics of a single ad by day, week or month: ad detail views, impressions in result lists, click-throughs to the dealer's website, replies to the ad, saves to favourites, video plays and promotion boxes.
Based on the same counters and rules as the statistics in the dealer administration. The agenda is read-only and requires the statsperm permission. How the numbers are produced and how to read them is described in detail in the Statistics methodology.
Agenda features
| Name | Options |
|---|---|
| Supported methods | GET |
| Support for detail levels | ✔ (own selection of metrics, see detail levels) |
| Support for filtering | ✘ |
| Support for full-text search | ✘ |
| Support for pagination | ✘ |
| Support for sorting | ✘ |
| Support for external identifiers | ✔ |
Support for schemas |
https://api.tipmoto.com/schemas/stats/inzerat.{xsd|rng} |
Support for ?fail-on-warning |
✘ |
| Support for dry-run | ✘ |
Returns location |
✘ |
Address
An ad that is on the server:
https://api.tipmoto.com/c/{dealer ID}/{moto|dily|prislusenstvi}/{ad ID}/stats.{xml|json|html}
A deleted ad (archive):
https://api.tipmoto.com/c/{dealer ID}/archive/{moto|dily|prislusenstvi}/{ad ID}/stats.{xml|json|html}
- Instead of the ad ID you can use the external identifier
api-{idApi}on both paths. If the external ID is not unique in the dealer's archive, the archive path returns406– use the numeric ID of the ad. - A deleted ad addressed by its numeric ID on the path for ads on the server returns
410with the address of its statistics in the archive. Viaapi-{idApi}it returns404, as everywhere in the API. - An ad that the dealer has hidden from an export server (the “do not export” setting) returns
404for that server's login, like the ad detail in themoto,dilyandprislusenstviagendas. Deleted ads in the archive are not hidden. - A re-published ad (deleted and later inserted again under its original ID) returns the same document on both paths as an ad on the server:
archiv=0,id@refpoints to the agenda of ads on the server and the default range is the same as for an ad on the server. - A link to this address is in the
stats@refattribute of the ad record in themoto,dilyandprislusenstviagendas (detail levelfull) and in their archive.
Permissions
- The statistics require the
statspermpermission of the login for the dealer. The dealer turns it on for the login in the administration (menu 'Web / export' → 'API propojení', checkbox 'Statistiky' next to the login); by default it is off. Without it the agenda returns402. - The statistics of a deleted ad (archive path) require only
statsperm; the permission at the 'archive' level is not needed. That permission protects the full data of a deleted ad (agendaarchive), not its statistics. - The
statsblock with lifetime counters in the ad record (moto,dily,prislusenstvi) does not require thestatspermpermission – the permission with which the login reads the record is enough.
Parameters
| Parameter | Values | Default | Description |
|---|---|---|---|
period |
day, week, month |
day |
Length of one period of the time series: a day, a week (ISO, Monday to Sunday) or a calendar month. |
from, to |
YYYY-MM-DD |
see Range | First and last day of the range (inclusive). Taken exactly, not snapped to whole weeks or months: a boundary period cut off by the range has neuplne="rozsah" on its metrics, and its od/do give the days actually covered. If from is later than to, they are swapped. Only from: to = today. Only to: from = to − 27 days. |
location |
1, 2, 3, 4 (several separated by commas, e.g. 1,2) |
all placements | Filter by placement. Any filter excludes the reconstructed history (placement 0), so the metrics then start on the day when measurement by placement began. A metric that does not arise in the selected placements is missing from the document. A repeated value is merged, an empty location= means no filter, 0 is an invalid value. |
breakdown |
location |
– | Breakdown by placement: each obdobi and the souhrn additionally contain umisteni blocks (with lokace and the metrics that arise in that placement). With the breakdown, the akcniOkno and vybirame blocks move into the umisteni blocks and are then not present at the level of obdobi/souhrn. The videoUdrzeni block is not broken down. |
detail |
id, summary, full, custom:… |
full |
Which metrics the document contains, see detail levels. |
no-series |
true (1), false (0) |
false |
true = document without the time series rada, only with the summary. Makes the response smaller. |
| standard | lang, xpath, code-in-response, no-http-errors, sessionid |
Work as everywhere in the API, see URL parameters. xpath returns XML even for .json. |
|
| not supported | section, order, filter, limit, start, add-row-count, fulltext, ftx-loc, usrval-show |
The ad statistics do not support them and return 406 as soon as the parameter has a non-empty value, even 0 (limit=0 is an error). A parameter with an empty value (limit=) is treated as not given. |
An invalid value of the period, from, to, location, breakdown, detail or no-series parameter returns 400 with a message that lists the allowed values. Values are case-sensitive.
Detail levels
| Value | Content |
|---|---|
id |
Identification of the ad, rozsah and the coverage metriky as for full – without numbers (without souhrn and rada). |
summary |
Five basic metrics: zobrazeni, vypis, urlKliknuti, odpovedi, schranka. |
full (default) |
In addition videoPrehrani, videoDokoukano, the videoUdrzeni block and the akcniOkno and vybirame blocks. |
custom:… |
Only the listed metrics and blocks, separated by commas: zobrazeni, vypis, urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano, videoUdrzeni, akcniOkno, vybirame. E.g. detail=custom:zobrazeni,odpovedi. Unknown items are ignored, as everywhere in the API; if the list contains only unknown items, the document is the same as for detail=id. |
Placements
Where the visitor saw the ad. The placement number is in the lokace element; the list is in the agenda lists/lokacestats.
lokace |
Placement |
|---|---|
0 |
Not distinguished – history reconstructed from backups (until dopoctenoDo). Appears only in the breakdown=location breakdown and cannot be used as a filter. |
1 |
Main website www.tipmoto.com |
2 |
Dealer subdomain |
3 |
Widget on the dealer's website (embedded list web.tipmoto.com) |
4 |
MotoInzerce.cz |
Range
- Default range: for an ad on the server (including a re-published one) the last 28 days (today − 27 days to today), for a deleted ad its whole lifetime (day of insertion to day of deletion).
- The API only narrows the range, it never widens it: a
toin the future is cut to today, afrombefore the start of the available data is moved to that start, and the range is always cut to the ad lifetime. Withperiod=month, a boundary in the middle of a month for which only monthly totals exist (older than the daily data) is narrowed inwards to whole months – except for a boundary in the month of the insertion or deletion of the ad (the monthly total of such a month is taken whole, see Ad lifetime). Procedure: fill in a missingfrom/to, swap, narrow. - The range actually used is in
rozsah/odandrozsah/do. If it differs from the requested one,rozsahalso contains the requested values inpozadovanoOdandpozadovanoDo.locationandbreakdownare inrozsahonly when the parameters were used (locationnormalised: ascending, without repetition). - An empty range (e.g. entirely outside the ad lifetime or before the start of the data) is not an error: it returns
200, the identification of the ad androzsahwithoutod/do, but withoutmetriky,souhrnandrada(nothing was measured). E.g.from=2020-01-01&to=2020-02-01:<rozsah> <period>day</period> <pozadovanoOd>2020-01-01</pozadovanoOd> <pozadovanoDo>2020-02-01</pozadovanoDo> </rozsah>
- Data availability: by day and week at the earliest from the first day of the month 13 months ago (older daily data are deleted; in September 2026 this is 1 August 2025), by month (
period=month) forzobrazeniandodpovedifrom May 2022. Metrics whose measurement started only in 2026 have data from the start of measurement (see metric catalogue). - All dates and day boundaries are in the Europe/Prague time zone.
Zero and not measured
0means “measured and nobody came”. A missing element means “not measured” – in that period the metric was not yet measured or had a gap in the data, it does not arise in the given placement at all, the ad did not exist at the time, or (for video) the ad had no video. So do not read zero as “data missing”, nor a missing element as zero.- The main number (text of the metric element) = people and unidentified visitors, without bots – i.e. the same as the counter in the
statsblock of the ad record and the chart in the administration. Bots are in the attributes. - The
akcniOknoandvybirameblocks are output for every placement where they arise according to the catalogue and where measurement took place in the range, even if there are no data in it – a dealer that did not buy the promotion box (akční okno) in a given placement sees zeros there. - The time series contains all periods of the range, even those without a single visit (then with zeros for the measured metrics).
Incomplete values (neuplne)
The neuplne attribute on a metric says that the value covers only part of the period, and why. Several reasons are separated by commas in this order:
| Reason | Meaning |
|---|---|
rozsah |
The period is cut off by the range (a week or month at the from/to boundary). Does not occur in the summary – it covers exactly the range used. |
mereni |
The metric started to be measured in the period, has a gap in the data in it, or it is an incomplete first day of measurement (4 September 2026 for urlKliknuti, 7 September 2026 for schranka, 24 September 2026 for video, see catalogue); it is enough if this applies in one of the summed placements. |
zivot |
The period contains the insertion or deletion of the ad or the boundary of a lifetime segment. Only for a week and a month – the day of insertion and deletion counts as a whole day. |
bezi |
The period has not ended yet (it contains today). Also in the summary when the range contains today. |
Example period=week&from=2026-09-16&to=2026-09-26 – the first week is cut off by the given from, and the promotion box on MotoInzerce.cz also had a gap in the data on 16 September 2026:
<obdobi>
<od>2026-09-16</od>
<do>2026-09-20</do>
<tyden>2026-W38</tyden>
<zobrazeni neuplne="rozsah" roboti="4" aiRoboti="0">21</zobrazeni>
…
<akcniOkno>
<lokace>4</lokace>
<zobrazeni neuplne="rozsah,mereni" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik neuplne="rozsah,mereni" roboti="0" aiRoboti="0">0</proklik>
</akcniOkno>
…
</obdobi>
Summary (dni, prumerDen)
souhrncontains the totals for the range used. The value of a metric is the total of everything measured including incomplete days, so it equals the total of the time series.dni= number of complete days of the range on which the metric was measured and the ad existed – without days in a gap in the data, without incomplete first days of measurement and without today.prumerDen= total for these complete days /dni, to 2 decimal places (decimal point). Incomplete days are in the value but not in the average, so value /dnimay differ fromprumerDen.- If the range consists only of incomplete days (e.g. only today or only the first day of measurement), the metric is output with its value,
dni="0"andneuplne, but withoutprumerDen. - A metric that was not measured at all in the range is missing from the summary.
Bots
- The
roboti(bots) andaiRoboti(AI bots) attributes are next to the main number (people and unidentified visitors); the groups do not overlap, all visitors = value +roboti+aiRoboti. - Since when bots are separated is given by
robotiOdof the metric inmetriky. In the time series, a period that starts beforerobotiOdhas no attributes. In the summary the attributes are present only if bots were measured for the whole time for which the metric has a value in the range – otherwise the share of bots would not have the same base as the value next to it. - Values until
dopoctenoDoare reconstructed from backups (bots subtracted by an older method) and have no bot attributes. A jump in the series at the boundary between reconstruction and measurement is a change of methodology, not of traffic.
Coverage of the metrics (metriky)
The metriky block appears once in the document and describes the coverage exactly for the data in the document (the chosen granularity, the location filter and the ad lifetime). A metric that does not arise in the selected placements or for the ad (e.g. video for parts) is not in it.
od– first day with data of the metric in the document.dopoctenoDo– until when the values are reconstructed from backups (onlyzobrazeniandodpovedi; not output withlocation).merenoOd– since when the new measurement applies.robotiOd– since when bots are separated. These three describe the methodology of the data, so they are output even when they lie beforeod.uplneOd– for a metric summed from several sources with different starts, the day from which all of them are measured; it does not occur in the ad statistics today.dira(od,do) – a gap in the data in all selected placements; the metric is missing from the series there. A gap in only one of the summed placements is not reported asdira; the affected periods haveneuplne="mereni".pokryti(lokace,od, possiblydira) – coverage by placement; always forakcniOknoandvybirame, for the other metrics withbreakdown=location.nazevandpoznamkaare texts for people (in English withlang=en); do not process them by machine.
Metric catalogue
| Key | Name | Sections and placements where it arises | Data from | Detail |
|---|---|---|---|---|
zobrazeni |
Ad detail views | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
see data availability; until 28 August 2026 reconstructed from backups, measured since 29 August 2026 | summary |
vypis |
Impressions in result lists | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
29 August 2026 | summary |
urlKliknuti |
Click-through to the dealer's website | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
4 September 2026 (first day incomplete) | summary |
odpovedi |
Replies to the ad | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
see data availability; until 7 September 2026 reconstructed from backups, measured since 8 September 2026. For accessories reconstructed until 30 August 2026 and a gap in the data 31 August – 7 September 2026 | summary |
schranka |
Saved to favourites | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
7 September 2026 (first day incomplete) | summary |
videoPrehrani |
Video plays | moto: 1, 2 |
24 September 2026 (first day incomplete), for an ad only from the day it got the video (see Video) | full |
videoDokoukano |
Watched to the end (video) | moto: 1, 2 |
as videoPrehrani; only for a video uploaded to TipMoto |
full |
akcniOkno |
Promotion box (akční okno) – block with lokace and the metrics zobrazeni (promotion box impressions) and proklik (click-through from the promotion box) |
moto: 1, 2, 4dily: 2prislusenstvi: none |
29 August 2026; in placement 4 a gap in the data 15–16 September 2026 | full |
vybirame |
“Our pick” list on MotoInzerce.cz (Vybíráme z nabídky) – block with lokace and the metrics zobrazeni (list impressions) and proklik (click-through to the ad) |
moto: 4 |
29 August 2026; a gap in the data 15–16 September 2026 | full |
Placements see the placement table; a combination outside this table does not exist and is missing from the document. By month, the data of metrics measured since 2026 start with the first month of measurement. The new collection separates bots from the first day of measurement (robotiOd = merenoOd).
Video
videoPrehrani= video plays (all sources including YouTube),videoDokoukano= video watched to the end (at least 90 % of the time actually played). Only motorcycles, only placements 1 and 2, in detail levelsfullandcustom:.- The video metrics exist only for the days on which the ad had a video: for a YouTube video from the insertion of the ad, for a video uploaded to TipMoto from the day of the upload, in any case at the latest from the first measured play. This day appears in
metrikyas theodof the video metrics. An ad without a video has no video metrics. - YouTube only: YouTube does not measure watching to the end, so
videoDokoukanois missing andvideoUdrzenicontains onlyod,do,prehraniandzobrazeniDetailu. - When a video was deleted is not recorded – after the video is deleted, the video metrics show zeros until the end of the ad lifetime.
The videoUdrzeni block is only in souhrn (not in the series) and contains only people, without bot attributes. The API does not calculate percentages; you calculate them from the values of the block:
| Element | Meaning |
|---|---|
od, do |
Days the block covers: when the ad had a video in the range and existed, without the incomplete 24 September 2026. They may differ from the range of the summary. |
prehraniVlastni |
Plays of the video uploaded to TipMoto – the base for the retention percentages. |
ctvrtina, polovina, triCtvrtiny, dokoukano |
How many of these plays reached 25 %, 50 %, 75 % and 90 % of the time actually played. |
prehrani |
Video plays from all sources (including YouTube). Because the block does not include the incomplete 24 September 2026, it may differ from videoPrehrani in the summary. |
zobrazeniDetailu |
Ad detail views on the same days in placements 1 and 2 – the base for the share “X % of detail visits played the video”. |
location=1 or 2 narrows the block to that placement; with location=3 or 4 the block is missing (video is not measured there). breakdown=location does not break it down.
Ad lifetime
vlozeniCasandsmazaniCasare the insertion and deletion of the ad;smazaniCasis empty for an ad on the server. Lifetime counters are in thestatsblock of the ad record, not here.- The range is always cut to the ad lifetime – outside it the metrics are missing (a zero would claim that measurement took place). With
period=dayandweekonly the days of the lifetime are added up. Withperiod=monthclosed months are taken whole from the monthly totals (they cannot be split into days), so the month of insertion or deletion also contains traffic outside the lifetime (e.g. after deletion), andprumerDenis calculated from it. - A re-published ad has several lifetime segments.
vlozeniCasis the first insertion. The part of the gap between the segments in which the ad has no data is not measured (missing from the series, not counted indni); days on which the ad has data in the gap are counted normally. A week or month containing a segment boundary hasneuplne="zivot".
Agenda elements
| Machine name | Name | Type | Information |
|---|---|---|---|
id |
Ad ID | integer |
|
id@ref |
Link to the ad record | href |
For a deleted ad to the archive agenda. |
idApi |
External ad ID | string 64 |
Empty if the ad has no external ID. |
section |
Agenda of the ad | select |
Possible values:
|
archiv |
Deleted ad | select |
Possible values:
|
vlozeniCas |
Insertion of the ad | datetime |
For a re-published ad the first insertion. |
smazaniCas |
Deletion of the ad | datetime |
Empty for an ad on the server. |
rozsah/od, rozsah/do |
Range used | date |
Missing for an empty range. |
rozsah/period |
Period length | select |
day, week, month; always. |
rozsah/pozadovanoOd, rozsah/pozadovanoDo |
Requested range | date |
The requested boundary (after filling in default values and swapping), only if it differs from the one used; always for an empty range. |
rozsah/location |
Placement filter | string |
Only if the parameter was used, e.g. 1,2. |
rozsah/breakdown |
Breakdown | select |
location; only if the parameter was used. |
metriky/metrika |
Coverage of a metric | element |
Children klic, nazev, od, uplneOd, dopoctenoDo, merenoOd, robotiOd, dira, pokryti, poznamka, see the catalogue and Coverage of the metrics. |
souhrn |
Summary for the range | element |
od, do, metrics, videoUdrzeni, the akcniOkno, vybirame blocks and (with the breakdown) umisteni. |
rada/obdobi |
One period of the series | element |
od, do (days actually covered), tyden (only period=week, e.g. 2026-W38), mesic (only period=month, e.g. 2026-09), metrics, the akcniOkno, vybirame blocks and (with the breakdown) umisteni. |
{metrika} |
Value of the metric | integer |
People and unidentified visitors, see the catalogue. |
{metrika}@roboti, {metrika}@aiRoboti |
Bots, AI bots | integer |
See Bots. |
{metrika}@neuplne |
Incomplete value | set |
rozsah, mereni, zivot, bezi (separated by commas). |
{metrika}@dni, {metrika}@prumerDen |
Number of days, daily average | integer, decimal |
Only in souhrn. |
akcniOkno, vybirame, umisteni |
Blocks by placement | element |
The placement is in the child lokace, followed by the metrics (in umisteni also the akcniOkno and vybirame blocks of that placement). The blocks are sorted by lokace in ascending order. |
souhrn/videoUdrzeni |
Video retention | element |
See Video. |
The order of the children is fixed: identification (od, do, tyden/mesic), metrics in catalogue order, videoUdrzeni, the akcniOkno, vybirame, umisteni blocks.
Example
GET /c/12/moto/587316/stats.xml?from=2026-09-24&to=2026-09-26 (shortened, output with lang=en):
<!--Agenda documentation at: https://api.tipmoto.com/docs/agendas/stats/inzerat/
Schemas (more about them at https://api.tipmoto.com/docs/ref/schemata/ ):
https://api.tipmoto.com/schemas/stats/inzerat.xsd
https://api.tipmoto.com/schemas/stats/inzerat.rng-->
<tipmoto>
<!--Statistics of a single ad. Value 0 = measured and nobody came, a missing metric = not measured. The main number = people and unidentified visitors; bots are in the attributes.-->
<stats>
<id ref="/c/12/moto/587316.xml">587316</id>
<idApi/>
<section>moto</section>
<!--1 = deleted ad (statistics from the archive), 0 = the ad is on the server-->
<archiv>0</archiv>
<!--Insertion and deletion of the ad (for a re-published ad the first insertion; smazaniCas is empty for an ad that is on the server). Cumulative lifetime counters are in the stats block of the ad record.-->
<vlozeniCas>2025-09-01 18:53:41</vlozeniCas>
<smazaniCas/>
<!--The range actually used. pozadovanoOd/pozadovanoDo are present only when the API narrowed the range (future, start of the data, ad lifetime, whole months outside the daily data); location and breakdown only when the parameters were used.-->
<rozsah>
<od>2026-09-24</od>
<do>2026-09-26</do>
<period>day</period>
</rozsah>
<!--Coverage of the metrics in this document: od = first day with data (for the chosen granularity, placement and ad lifetime), dopoctenoDo = until when the values are reconstructed from backups, merenoOd = since when the new measurement applies, robotiOd = since when bots are separated (attributes roboti and aiRoboti).-->
<metriky>
<metrika>
<klic>zobrazeni</klic>
<nazev>Ad detail views</nazev>
<od>2025-09-01</od>
<dopoctenoDo>2026-08-28</dopoctenoDo>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
</metrika>
<!-- … vypis, urlKliknuti, odpovedi, schranka -->
<metrika>
<klic>videoPrehrani</klic>
<nazev>Video plays</nazev>
<od>2026-09-24</od>
<merenoOd>2026-09-24</merenoOd>
<robotiOd>2026-09-24</robotiOd>
<poznamka>Watching to the end is measured only for videos uploaded directly to TipMoto. For YouTube videos only plays are measured; viewing progress cannot be determined for them.</poznamka>
</metrika>
<!-- … videoDokoukano, akcniOkno, vybirame -->
</metriky>
<!--Totals for the range used. dni = number of complete days on which the metric was measured and the ad existed (without incomplete days and without today), prumerDen = total for these days / dni. neuplne = the value covers only part of the range (rozsah, mereni, zivot, bezi).-->
<souhrn>
<od>2026-09-24</od>
<do>2026-09-26</do>
<zobrazeni dni="3" prumerDen="4.33" roboti="1" aiRoboti="0">13</zobrazeni>
<!-- … vypis, urlKliknuti, odpovedi, schranka -->
<videoPrehrani dni="2" prumerDen="1.00" neuplne="mereni" roboti="0" aiRoboti="0">4</videoPrehrani>
<videoDokoukano dni="2" prumerDen="1.00" neuplne="mereni" roboti="0" aiRoboti="0">3</videoDokoukano>
<videoUdrzeni>
<od>2026-09-25</od>
<do>2026-09-26</do>
<prehraniVlastni>2</prehraniVlastni>
<ctvrtina>2</ctvrtina>
<polovina>2</polovina>
<triCtvrtiny>2</triCtvrtiny>
<dokoukano>2</dokoukano>
<prehrani>2</prehrani>
<zobrazeniDetailu>8</zobrazeniDetailu>
</videoUdrzeni>
<akcniOkno>
<lokace>1</lokace>
<zobrazeni dni="3" prumerDen="177.67" roboti="174" aiRoboti="1">533</zobrazeni>
<proklik dni="3" prumerDen="0.00" roboti="0" aiRoboti="0">0</proklik>
</akcniOkno>
<!-- … akcniOkno 2 and 4, vybirame -->
</souhrn>
<!--Time series: one obdobi element per day, week (ISO) or month; od/do are the days actually covered.-->
<rada>
<obdobi>
<od>2026-09-24</od>
<do>2026-09-24</do>
<zobrazeni roboti="0" aiRoboti="0">5</zobrazeni>
<!-- … vypis, urlKliknuti, odpovedi, schranka -->
<videoPrehrani neuplne="mereni" roboti="0" aiRoboti="0">2</videoPrehrani>
<videoDokoukano neuplne="mereni" roboti="0" aiRoboti="0">1</videoDokoukano>
<akcniOkno>
<lokace>1</lokace>
<zobrazeni roboti="57" aiRoboti="1">157</zobrazeni>
<proklik roboti="0" aiRoboti="0">0</proklik>
</akcniOkno>
<!-- … akcniOkno 2 and 4, vybirame -->
</obdobi>
<!-- … obdobi 2026-09-25 and 2026-09-26 -->
</rada>
</stats>
</tipmoto>
JSON
- The elements
obdobi,umisteni,pokryti,akcniOkno,vybirame,metrikaanddiraare always arrays in JSON, even if they occur only once. If they do not occur at all, the key is missing from JSON (not[]). - Attributes are sibling keys in the same object as the element; the key name is the element name, an at sign and the attribute name:
"zobrazeni": "13","zobrazeni@roboti": "1","id@ref": "…". - All values are strings, including numbers (
"13","4.33"). - An empty element is an empty string:
"smazaniCas": "","idApi": "". - A missing metric key = not measured, just like a missing element in XML. The comments from XML are not in JSON.
The same document as above in JSON (shortened, … = omitted):
{
"tipmoto": {
"stats": {
"id": "587316",
"idApi": "",
"section": "moto",
"archiv": "0",
"vlozeniCas": "2025-09-01 18:53:41",
"smazaniCas": "",
"rozsah": {"od": "2026-09-24", "do": "2026-09-26", "period": "day"},
"metriky": {"metrika": [
{"klic": "zobrazeni", "nazev": "Ad detail views", "od": "2025-09-01", "dopoctenoDo": "2026-08-28", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29"},
…,
{"klic": "vybirame", "nazev": "“Our pick” list on MotoInzerce.cz (Vybíráme z nabídky)", "od": "2026-08-29", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29", "pokryti": [{"lokace": "4", "od": "2026-08-29"}]}
]},
"souhrn": {
"od": "2026-09-24", "do": "2026-09-26",
"zobrazeni": "13", "vypis": "145", …, "videoPrehrani": "4", …,
"vybirame": [{"lokace": "4", "zobrazeni": "0", "proklik": "0", "zobrazeni@dni": "3", "zobrazeni@prumerDen": "0.00", "zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", "proklik@dni": "3", "proklik@prumerDen": "0.00", "proklik@roboti": "0", "proklik@aiRoboti": "0"}],
"zobrazeni@dni": "3", "zobrazeni@prumerDen": "4.33", "zobrazeni@roboti": "1", "zobrazeni@aiRoboti": "0",
…,
"videoPrehrani@dni": "2", "videoPrehrani@prumerDen": "1.00", "videoPrehrani@neuplne": "mereni", "videoPrehrani@roboti": "0", "videoPrehrani@aiRoboti": "0",
…
},
"rada": {"obdobi": [
{"od": "2026-09-24", "do": "2026-09-24", "zobrazeni": "5", …, "videoPrehrani": "2", …,
"akcniOkno": [{"lokace": "1", "zobrazeni": "157", "proklik": "0", "zobrazeni@roboti": "57", "zobrazeni@aiRoboti": "1", "proklik@roboti": "0", "proklik@aiRoboti": "0"}, …],
"zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", …, "videoPrehrani@neuplne": "mereni", …},
…
]},
"id@ref": "/c/12/moto/587316.json"
}
}
}
Errors
An error has the form <tipmoto><chyby><chyba>…</chyba></chyby></tipmoto> in the format of the request (.xml, .json, .html) and respects lang, code-in-response and no-http-errors, see Error handling.
| HTTP code | When |
|---|---|
400 |
invalid value of the period, from, to, location (including 0), breakdown, detail or no-series parameter; the message lists the allowed values |
402 |
the login does not have the statsperm permission for the dealer (also on the archive path); the dealer is suspended or does not have exports allowed |
404 |
an agenda other than moto, dily, prislusenstvi; the ad is neither on the server nor in the archive, or does not belong to the dealer; a deleted ad addressed via api-{idApi} on the path for ads on the server; an ad that the dealer has hidden from the login's export server |
405 |
a method other than GET |
406 |
an unsupported parameter (section, order, filter, limit, start, add-row-count, fulltext, ftx-loc, usrval-show, even with the value 0); the external ID is not unique in the dealer's archive; an invalid xpath; the query is too demanding – shorten the range, use period=month or select fewer metrics (detail=custom:…) |
410 |
a deleted ad addressed by its numeric ID on the path for ads on the server; the message contains the address of its statistics in the archive |
500 |
an error while executing the query on our server |
503 |
the database server is unavailable; repeat the request later |
Example period=blbost (with lang=en):
<tipmoto>
<success>false</success>
<chyby>
<chyba>Invalid value 'blbost' of URL parameter 'period'. Allowed values are 'day', 'week' and 'month'.</chyba>
</chyby>
</tipmoto>
Extensibility
Elements, attributes and values (e.g. new metrics, blocks or neuplne reasons) may be added; the meaning of an existing element does not change. Ignore unknown elements, attributes and values. New elements are added at the end of the fixed order. A client that validates the output must use the current schema after an extension. We record every extension in the changelog.
