Find an Apprenticeship - developing simple location based search with the EFSA live vacancies API

25/02/19

There is an EFSA API (application programming interface) that allows you to search live apprenticeship vacancies (in England) and then look at the details of an individual vacancy.

The API is easy to use and there’s good supporting documentation - developing a simple location based search interface is relatively straightforward.

I wanted to build a very simple search interface. You enter your postcode, say how far you’re prepared to travel and you get back a set of results ordered by distance. Each result comes with a short summary description. You then click the title and see the full apprenticeship vacancy details.


Find an apprenticeship near you - simple location based search

Find an Apprenticeship


The SearchApprenticeshipsVacancies API call wants location data in latitude/longitude format. Google Maps can give you that but their developer service isn’t free. I thought I was stuck until I found the great Postcodes.io site. They have a free open source API that takes a valid UK postcode and returns a latitude and longitude. Again the documentation is great and the service is very easy to use (and it seems fast).

So, the initial search runs two API calls after the user enters a postcode and clicks ‘Search’. The first turns a valid postcode into a lat/long. The second call, to SearchApprenticeshipsVacancies then returns a list of live apprenticeship vacancies.

Searching by postcode makes sense, but I wonder if a real user would expect something that is just a bit more sophisticated? Apprenticeships come in levels - Intermediate, Advanced, Higher etc. and I can see that you’d want to see apprenticeships that are right for your qualifications and age. So, filtering by apprenticeship level - with some clear explanation of what the levels mean - seems like a reasonable next step.

What about job area/category? That is harder to implement. You can use SearchApprenticeshipsVacancies to search on the codes for the different apprenticeship frameworks and standards, but it’s more work to map those codes to some standard categories that make sense to a typical user. At this point an advanced search by category doesn’t seem worth the effort; a set of results based your location and filtered by apprenticeship level is easy to page through and you don’t risk missing interesting apprenticeship vacancies that are in unexpected categories.