Skip to main content
Question

Inspire directs you to Amazon - Httpcaller get data calls

  • May 22, 2025
  • 6 replies
  • 114 views

hlynur
Supporter
Forum|alt.badge.img+10

Hello, so we regularly download the whole catalogue of polygons for England, seen here:
Dataset Download - Use land and property data

I would very much want to automate this as its a tedious task to manually download them all one by one, so I’ve investigated the calls that my browser makes when calling this data and it first sends a very simple call to very simple URL’s containing the Zipped data, as seen here:
https://use-land-property-data.service.gov.uk/datasets/inspire/download/Amber_Valley_Borough_Council.zip

Which in turn takes you onward to a Amazon service that just gives you 60seconds to fetch the data, as seen here:
https://datapub-prd-s3-bucket.s3.amazonaws.com/inspire/Amber_Valley_Borough_Council.zip?response-content-type=application%2Fforce-download&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASNNJI2YGUWCWQTWF%2F20250522%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250522T125638Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=c8a0384597f39f35e7be798cff4fcd1235d94cde0bbf5860e65b9eb8758339e2

I’ve tried to use the good old creator to HttpCaller to make a get call to the former URL which returns in a html code while making a call with the latter and longer Amazon URL one results in actual data (through a feature reader call), however that URL is generated on the fly and expires in 60 seconds.

This data is public so there should be some simple logic how to make a call that generates the tokens needed when needed and I’m not entirely sure how to do that, all input on how to best to get this done is appreciated :)

 

-Hlynur

6 replies

alexbiz
Influencer
Forum|alt.badge.img+28
  • Influencer
  • May 22, 2025

I think you want to use this instead of retro-engineer how the website create access to their s3 bucket : https://use-land-property-data.service.gov.uk/api-information


raghavendrans
Enthusiast
Forum|alt.badge.img+20

@hlynur 

As mentioned by ​@alexbiz FME offers robust API support, enabling users to connect to and utilize various web services and APIs without writing code. 

FME uses transformers, readers, and writers to interact with APIs, including REST APIs, webhooks, and more.

It will be a good choice to get the data of your interest.

Happy FME:-)ing

Cheers

SRG


hlynur
Supporter
Forum|alt.badge.img+10
  • Author
  • Supporter
  • May 22, 2025

Hey ​@alexbiz and thanks for the quick answers, we have been told that this API you refer to doesn’t provide the Inspire properties, you have any experience with that?


alexbiz
Influencer
Forum|alt.badge.img+28
  • Influencer
  • May 22, 2025

Oh, that’s a shame then. I do have experience working with APIs, but not specifically with this one or its datasets. From what you're describing, it looks like you're trying to automate something that wasn’t really designed to be accessed programmatically (or worse, something that they might intentionally want to discourage).

In general, if you're planning to use FME to automate downloads, it's always better to rely on APIs that are explicitly designed for that kind of use. That way, your workspace will be much easier to maintain over time.

Since this service is labeled as “beta,” it might be worth reaching out to them directly. They may be able to clarify how you can programmatically access the datasets you need—whether through their API or via another method. In some cases, they can even provide special access or guidance for bulk downloads.


hlynur
Supporter
Forum|alt.badge.img+10
  • Author
  • Supporter
  • May 23, 2025

Anyone else wants to give this a go, there has to be some logic in that call that can be adjusted


evieatsafe
Safer
  • Safer
  • November 20, 2025

Hi ​@hlynur I was chatting with some colleagues and I believe all of the comments here capture what I would have suggested as well.

The link that you use redirects to a s3 bucket download link where the link is set to expire 60 seconds after it was created. Trying to use an HTTPCaller in FME by using one of those links gives a 302 error code back which is also sometimes known as "Found" or "Moved Temporarily," indicating that the requested resource has been temporarily moved to a different URL. You would need to find a way to grab that temporary URL and download immediately to work around how this is set up currently. 

A better solution would be to reach out or see if they have an API or a way to access the data programatically like others have said. As another mentioned, it does look like there is an API for their data but you need an account, agree to their license agreement, and have paid for the data before you can use the API. Perhaps it’s a manual download because it’s also free?
Once you did have FME call the API and it was all set up to download then you can easily use FME Flow to grab the data on the first Sunday of the month like they advertise that it’s updated. 

Happy FMEing!