All guides

Ways to connect

Jobs widget

Put a live list of local jobs, apprenticeships, training and work placements on your own website. It is always current, needs no key and no developer, and fits itself to its content. Live

Install it

Paste these two lines where you want the list to appear:

HTML
<div class="opportunity-jobs" data-borough="southwark" data-limit="5"></div>
<script src="https://opportunityplatform.co.uk/embed/widget.js" async></script>

The script turns every element with the class opportunity-jobs into the widget, so you can put several on one page with different filters and load the script once.

Signed-in developer and delivery partner accounts can also build a snippet with a live preview at Embed in your dashboard.

Examples

One development
<div class="opportunity-jobs" data-scheme="pearl-yard" data-limit="10"></div>
<script src="https://opportunityplatform.co.uk/embed/widget.js" async></script>
Apprenticeships in a borough, dark style
<div class="opportunity-jobs"
     data-borough="southwark"
     data-type="apprenticeship"
     data-theme="dark"
     data-title="Apprenticeships in Southwark"></div>
<script src="https://opportunityplatform.co.uk/embed/widget.js" async></script>
One employer's roles
<div class="opportunity-jobs" data-employer="Acme Construction"></div>
<script src="https://opportunityplatform.co.uk/embed/widget.js" async></script>

Options

Every option is optional. Leave them all out for the newest roles across the platform.

  • Attribute
    data-scheme
    Values
    A scheme's short name, for example pearl-yard
    What it does
    Only roles tied to that development. An unknown name shows the empty message, never every role.
  • Attribute
    data-borough
    Values
    A borough, as a short name (southwark) or in full (Southwark)
    What it does
    Only roles in that borough.
  • Attribute
    data-type
    Values
    job, apprenticeship, training or work_placement
    What it does
    Only that kind of opportunity. Anything else is ignored.
  • Attribute
    data-employer
    Values
    Part of an employer's name
    What it does
    Only roles from employers whose name contains it.
  • Attribute
    data-lens
    Values
    construction or end_use
    What it does
    Construction roles, or roles in the finished buildings (shops, offices, venues).
  • Attribute
    data-limit
    Values
    1 to 50 (default 10)
    What it does
    How many roles to show, newest first.
  • Attribute
    data-theme
    Values
    light (default) or dark
    What it does
    Card style.
  • Attribute
    data-title
    Values
    Text
    What it does
    The frame title read out by screen readers. Default: Live opportunities.
  • Attribute
    data-min-height
    Values
    Pixels (default 320)
    What it does
    Height before the content has loaded.

The script loads the widget from the site it came from. Loaded from one of our borough sites (https://<borough>.opportunityplatform.co.uk/embed/widget.js), the list is limited to that borough unless you set data-borough or data-scheme.

Without the script

If your site does not allow third-party scripts, use a plain iframe with the same options as query parameters. It keeps a fixed height, so pick one that suits your list.

iframe
<iframe src="https://opportunityplatform.co.uk/embed/jobs?borough=southwark&type=apprenticeship&limit=5"
        title="Live opportunities" width="100%" height="600"
        style="border:0" loading="lazy"></iframe>

What visitors see and do

  • Each card shows the title, the type, the employer, the location and the closing date.
  • Choosing a card opens the full listing on our site in the same tab, where the resident applies. That is what records the application against your place.
  • The list shows live roles posted on the platform. Filtered to an employer with data-employer, it also shows that employer's roles from their own careers page or ATS once they have connected it and the connection is verified. Those open a short step on our site and then the employer's own apply page.
  • When nothing matches, it says so and links to every opportunity, rather than showing an error.
  • Every platform role shown counts as a view from the widget, so employers and councils can see how many people a partner site reached.

How it fits itself

  1. The script adds an iframe for each opportunity-jobs element, at data-min-height.
  2. The widget reports its height to your page whenever its content changes.
  3. The script resizes only that widget's frame, and only for messages from the site the script came from. Heights are held between 120 and 20,000 pixels.

Limits

  • At most 50 roles per widget. For more, link to the full listing or use the partner API.
  • The roles are read live on every load. The script itself is cached for up to an hour.
  • The look is fixed apart from the light and dark styles. For your own design, use the partner API.

Troubleshooting

Nothing appears at all.

Check, in this order:

  • The element has class="opportunity-jobs" exactly.
  • Your site's Content Security Policy allows our script and frame: add https://opportunityplatform.co.uk to script-src and frame-src.
  • Your page builder has not stripped the <script> tag. If it does, use the iframe instead.
It says there are no live opportunities.

No live role matches every filter you set. Remove filters one at a time to see which one is excluding everything, and check the spelling of the scheme name.

There is a scroll bar inside the widget.

You are using the iframe, which has a fixed height. Use the script, which resizes, or raise the iframe height.

Do I need an API key?

No. The widget shows only public listings and needs no key.

Jobs widget | Opportunity Platform Developers