Discover/iDICE API
live

iDICE APIidice.ng ↗

Access iDICE Skills to Job Programme application links by geopolitical zone via the idice.ng API. Returns zone names, covered states, and form URLs.

Endpoint health
verified 3h ago
list_application_links
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the iDICE API?

The iDICE Skills to Jobs API exposes 1 endpoint — list_application_links — that returns all six geopolitical zone application cards from Nigeria's iDICE Skills to Job Programme page. Each record includes the zone name, the Nigerian states it covers, the button label, and the direct URL to the application form. This makes it straightforward to build zone-filtered lookup tools or embed up-to-date application links in external platforms.

This call costs2 credits / call— charged only on success
Try it
Optional filter: a geopolitical zone name such as one of the six values in application_links[*].zone, or a state name from application_links[*].states. Omitted = all zones.
→ api.parse.bot/scraper/0dca0ad4-a958-453b-bd35-4621894978ed/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0dca0ad4-a958-453b-bd35-4621894978ed/list_application_links?zone=Lagos' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace idice-ng-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: iDICE Skills to Job Programme — list zone application links."""
from parse_apis.idice_ng_api import IDice, ParseError

client = IDice()

# Fetch the full programme record (all zones).
programme = client.programmes.get()
print(programme.programme, f"({programme.count} zones)")
print("Source:", programme.source_page)

# Iterate every application link; limit= caps total items.
for link in client.application_links.list(limit=10):
    print(link.zone, "—", link.label, link.url)
    print("  States:", ", ".join(link.states))

# Filter to a single zone by name; catch parse errors from upstream changes.
try:
    sw_link = client.application_links.list(zone="South West", limit=1).first()
    if sw_link is not None:
        print("South West apply URL:", sw_link.url)
except ParseError as e:
    print("Could not parse application links:", e)

print("exercised: programmes.get / application_links.list / application_links.list(zone=)")
All endpoints · 1 totalmissing one? ·

Returns one record per geopolitical zone application card on the iDICE Skills to Job Programme page: the zone name, the Nigerian states it covers, the button label (currently 'Apply Now'), and the external application form URL the button points to. The page publishes six zone cards; the whole set is returned in one call with no pagination. An optional zone filter matches a zone name (case-insensitive, hyphen or space, e.g. 'South West') or a state name (e.g. 'Lagos') and returns only the matching zone; an unrecognized value returns an empty application_links array with count 0, never the full list. Two upstream requests per call.

Input
ParamTypeDescription
zonestringOptional filter: a geopolitical zone name such as one of the six values in application_links[*].zone, or a state name from application_links[*].states. Omitted = all zones.
Response
{
  "type": "object",
  "fields": {
    "count": "integer number of records in application_links (after any zone filter)",
    "programme": "name of the programme the application links belong to",
    "source_page": "URL of the iDICE page the links were read from",
    "application_links": "array of zone application records: zone (geopolitical zone name), states (array of state names covered), label (button text), url (external application form URL)"
  },
  "sample": {
    "data": {
      "count": 1,
      "programme": "iDICE Skills to job Programme",
      "source_page": "https://idice.ng/skills-training-to-jobs/",
      "application_links": [
        {
          "url": "https://www.activityinfo.org/c/czdef32mquxqezemvd/2767a3",
          "zone": "South West",
          "label": "Apply Now",
          "states": [
            "Ekiti",
            "Lagos",
            "Ogun",
            "Ondo",
            "Osun",
            "Oyo"
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the iDICE API

What the API Returns

The list_application_links endpoint returns a structured response containing the programme name, the source page URL (source_page), a total record count (count), and an array called application_links. Each element in application_links carries four fields: zone (the geopolitical zone name, e.g. North Central or South West), states (an array of Nigerian state names covered by that zone's programme slot), label (the button text, currently 'Apply Now'), and url (the external application form the button links to).

Filtering by Zone or State

The endpoint accepts an optional zone string parameter. You can pass either a geopolitical zone name or a state name to narrow results. For example, passing zone=Lagos would return the record for the South West zone that covers Lagos. When no filter is supplied, all six zone records are returned. The count field always reflects the number of records in the filtered response.

Source and Coverage

Data comes from the iDICE Skills to Job Programme page at https://idice.ng/skills-training-to-jobs/. The programme covers Nigeria's six geopolitical zones, and each zone maps to a specific set of states. The programme field in the response names the programme the links belong to, allowing downstream consumers to confirm context without hardcoding assumptions.

Reliability & maintenanceVerified

The iDICE API is a managed, monitored endpoint for idice.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when idice.ng changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official idice.ng API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Embedding zone-specific iDICE application links into a Nigerian youth employment portal filtered by a user's state
  • Building a State-to-application-form lookup table using the states array in each zone record
  • Monitoring whether application form URLs change across programme cycles using the url field
  • Surfacing iDICE application deadlines or form links in a WhatsApp or Telegram bot that accepts a state name
  • Aggregating iDICE programme data alongside other Nigerian government skills initiatives by zone
  • Generating a printable zone-by-zone guide to iDICE application entry points using all six records
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does iDICE have an official developer API for this data?+
No. iDICE (idice.ng) does not publish a public developer API. This Parse API is the only structured way to retrieve the programme's application link data programmatically.
What does the `zone` filter parameter actually match against?+
The zone parameter matches against both the geopolitical zone names (e.g. 'North East') and the individual state names listed in the states array for each zone record. If you pass a state name like 'Kano', the API returns the zone record whose states array contains that state.
Does the API return application deadlines, eligibility criteria, or programme details beyond the links?+
Not currently. The API covers zone names, covered states, button labels, and application form URLs. Eligibility criteria, deadlines, and programme descriptions are not included in the response fields. You can fork this API on Parse and revise it to add an endpoint that captures those details.
How many records does the endpoint return if no filter is applied?+
Without a filter, list_application_links returns all six zone records — one per Nigerian geopolitical zone — and count will equal 6. Applying a zone or state filter reduces count to the number of matching records, typically 1.
Does the API cover historical application cycles or only the current programme round?+
The API reflects the current state of the iDICE Skills to Job Programme page. Historical application cycles and past form URLs are not retained. You can fork this API on Parse and revise it to add versioned snapshots or a historical records endpoint.
Page content last updated . Spec covers 1 endpoint from idice.ng.
Related APIs in JobsSee all →