getmyfirstjob.co.uk APIgetmyfirstjob.co.uk ↗
Access UK apprenticeship and early careers listings, employer profiles, occupation categories, and location filters from GetMyFirstJob.co.uk via 5 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/5ad1bc88-a5db-4792-858a-b25a7e335fc9/search_opportunities?query=software' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for apprenticeship and early career opportunities. Returns listings from the main search page or a specific occupation category page. An optional keyword filter is applied client-side to the returned results. Without category_path, returns all listings from the main search page.
| Param | Type | Description |
|---|---|---|
| query | string | Keyword to filter results by title, description, employer, or category. Applied client-side to the pre-rendered listings. |
| category_path | string | Category path from get_occupation_categories results (e.g. 'discover-opportunities/occupation-categories/details/computing-technology-and-digital/5'). When provided, fetches listings for that category. |
{
"type": "object",
"fields": {
"total": "integer total count of returned opportunities",
"url_used": "string URL that was fetched",
"opportunities": "array of opportunity objects with title, employer, description, link, and optional category, wages, location, level fields"
},
"sample": {
"data": {
"total": 2,
"url_used": "https://www.getmyfirstjob.co.uk/search",
"opportunities": [
{
"link": "search/details/279212/1/advanced-apprenticeship/it-quality-and-testing-professionals/slough/it-support-apprentice",
"level": "Advanced Level 3 Apprenticeship",
"title": "IT Support Apprentice",
"wages": "12.98 per hour",
"category": "Computing, Technology & Digital",
"employer": "QA Apprenticeships",
"location": "Kent",
"description": "About Countrystyle Recycling..."
}
]
},
"status": "success"
}
}About the getmyfirstjob.co.uk API
This API exposes 5 endpoints covering UK apprenticeship and early career opportunities from GetMyFirstJob.co.uk, including full vacancy details, occupation categories, employer listings, and location filters. The search_opportunities endpoint lets you query by keyword or category path and returns title, employer, wages, location, level, and a direct link for each result. The get_opportunity_details endpoint retrieves structured fields including application deadline, training provider, posted date, and full job description.
Searching Opportunities
The search_opportunities endpoint returns an array of opportunity objects from GetMyFirstJob.co.uk's main listing or a specific occupation category page. Each object includes title, employer, description, link, and optional fields: category, wages, location, and level. You can pass a query string to filter results by title, description, employer, or category client-side, and a category_path (sourced from get_occupation_categories) to scope results to a specific industry or occupation type. The response also includes a total count and the url_used for reference.
Vacancy Details
get_opportunity_details accepts a url_path from search_opportunities results and returns the full record for a single vacancy: title, employer, location, level, wages, apply_by (application deadline), posted_date (ISO format), provider (training provider), description (full job description text), and a metadata object containing additional key-value fields extracted from the detail page. If a vacancy is no longer available, the endpoint returns a stale_input flag rather than an error.
Categories, Locations, and Employers
get_occupation_categories returns a list of objects with name and path fields representing industries and occupations available on the platform. The path values are directly usable as category_path in search_opportunities. get_location_filters similarly returns UK cities and areas with their name and path — note these are informational pages and do not return pre-rendered job listings directly. get_employers_list returns featured employers with name and path to their detail pages.
- Aggregate UK apprenticeship listings by occupation category for a careers discovery platform
- Monitor application deadlines (
apply_by) across live vacancies to alert prospective applicants - Build an employer directory of companies offering apprenticeships, sourced from
get_employers_list - Filter entry-level roles by
levelandwagesto surface opportunities matching a candidate's criteria - Map apprenticeship availability across UK regions using location data from
get_location_filterscombined with search results - Track new postings by comparing
posted_datefields from recurringsearch_opportunitiescalls - Identify training providers associated with specific vacancies via the
providerfield inget_opportunity_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does GetMyFirstJob.co.uk have an official developer API?+
What does `search_opportunities` return when no `category_path` is provided?+
category_path, the endpoint returns listings from the main search page across all categories. Each result includes title, employer, description, and link, with category, wages, location, and level included where available. Passing a query string filters these results by matching against title, description, employer, or category.Can the API return employer profile details beyond the name and path?+
get_employers_list currently returns each employer's name and path only — it does not expose full employer profiles, company descriptions, or contact information. You can fork this API on Parse and revise it to add an employer detail endpoint that fetches the full profile page for a given path.Does the API support pagination for large search result sets?+
What happens when a vacancy has been removed from the site?+
url_path is no longer available, get_opportunity_details returns a stale_input flag in the response rather than throwing an error. This lets you detect and handle expired listings in your application logic without breaking a processing pipeline.