from web_poet import ItemPage, field, RequestUrl, HttpClient, cached_method class MyPage(web_poet.ItemPage): request_url: RequestUrl http: HttpClient @cached_method async def response(self): # create API url from the request url api_url = ... response = await self.http.get(api_url) return response.json() @field async def price(self): resp = await self.response() return resp["data"]["price"]