How to trigger an API call only once per day/week

im using world tide times:
however, you only get 100 credits per month.
each call pulls in 7 days of data, so you really only need to call this info 5 times a month max, or just once per 7 days.
However, it fires the API far too often and im not sure how to limit this down?

im using this in YAML, but what do i need to do to only trigger once per day, for example?

sensor:
  - platform: worldtidesinfo
    api_key: <...>
    name: My Favourite Beach
    latitude: <...>
    longitude: <...>
  - platform: template
    sensors:
      tide_my_favourite_beach_next_high:
        value_template: '{{ as_timestamp(states.sensor.my_favourite_beach.attributes.high_tide_time_utc) | timestamp_custom("%a %d/%m/%Y %H:%M") }}'
        friendly_name: "My Favourite Beach Next High Tide"
      tide_my_favourite_beach_next_low:
        value_template: '{{ as_timestamp(states.sensor.my_favourite_beach.attributes.low_tide_time_utc) | timestamp_custom("%a %d/%m/%Y %H:%M") }}'
        friendly_name: "My Favourite Beach Next Low Tide"

Please don’t post a question in multiple places. See other thread for my suggestion.