Implementing `data.depth` & `data.maxDepth` to control recursive API consumption