Discover/cookuf API
live

cookuf APIcookuf.net ↗

Extract structured internship, job, scholarship, and fellowship details from cookuf.net articles — deadline, stipend, eligibility, and application links.

Endpoint health
verified 23m ago
get_opportunity_details
1/1 passing latest checkself-healing
Endpoints
1
Updated
1h ago

What is the cookuf API?

The cookuf.net API exposes 1 endpoint, get_opportunity_details, that returns 9 structured fields from a single opportunity article on cookuf.net — including deadline, stipend, eligibility criteria, age requirements, and a direct application URL. Supply the article's URL slug and get back a parsed, label-keyed summary object alongside full section-by-section body content, covering internships, jobs, scholarships, and fellowships listed on the site.

This call costs3 credits / call— charged only on success
Try it
URL slug of the cookuf.net article: the lowercase hyphenated last path segment of the article URL, e.g. social-media-content-creator-internship-2026-at-wunti-al-khair-foundation-in-northern-nigeria.
→ api.parse.bot/scraper/6180ae62-3f2e-4afa-9725-6bc11e06eb65/<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/6180ae62-3f2e-4afa-9725-6bc11e06eb65/get_opportunity_details?article_slug=social-media-content-creator-internship-2026-at-wunti-al-khair-foundation-in-northern-nigeria' \
  -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 cookuf-net-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: fetch and inspect a cookuf.net opportunity listing."""
from parse_apis.cookuf_net_api import Cookuf, OpportunityNotFound

client = Cookuf()

# Look up a specific opportunity by its URL slug.
slug = "youth-policy-and-advocacy-workshop-2026-in-northern-nigeria-apply-now"
try:
    opp = client.opportunities.get(article_slug=slug)
except OpportunityNotFound:
    print("Opportunity not found for slug:", slug)
else:
    print(opp.title)
    print("Deadline:", opp.deadline)
    print("Stipend:", opp.stipend)
    print("Published:", opp.published_at.isoformat())
    print("Apply at:", opp.application_url)

    # Walk the summary key/value pairs extracted from the article.
    for label, value in opp.summary.items():
        print(f"  {label}: {value}")

    # Show eligibility requirements.
    for line in opp.eligibility:
        print(" -", line)

    # Iterate article sections for additional context.
    for section in opp.sections:
        print(f"\n## {section.heading}")
        for item in section.items:
            print("  ", item)

print("\nexercised: opportunities.get")
All endpoints · 1 totalmissing one? ·

Returns the structured details of one opportunity article on cookuf.net, identified by its URL slug (the last path segment of the article URL). One page fetch per call. The response carries the article title, publish timestamp, a key/value `summary` parsed from the article's 'Summary' bullet list when present (keys are lowercased snake_case labels as written by the author, one shape being position/location/work_mode/stipend/duration/deadline), and best-effort extracted fields: `deadline`, `stipend` and `age_eligibility` are strings copied verbatim from the article (not normalised) and are null when the article does not state them; `eligibility` lists the bullet items under the article's qualifications/eligibility/who-can-apply heading (empty array when no such heading exists); `application_instructions` lists the text under the article's apply heading (often just the heading label when the article only provides a link); `application_url` is the first external link in that apply section (null when none) and `application_emails` lists every email address found in the article body (usually empty). `sections` returns every heading of the article with its paragraph/bullet items and external links, so anything not captured by the extracted fields can still be read. A slug the site does not know is answered with a not-found input error (the site itself serves an unrelated fallback article for unknown slugs, which is detected and rejected).

Input
ParamTypeDescription
article_slugrequiredstringURL slug of the cookuf.net article: the lowercase hyphenated last path segment of the article URL, e.g. social-media-content-creator-internship-2026-at-wunti-al-khair-foundation-in-northern-nigeria.
Response
{
  "type": "object",
  "fields": {
    "url": "canonical article URL on cookuf.net",
    "title": "article headline",
    "stipend": "stipend/salary as written in the article (currency as written), or null",
    "summary": "object of label -> value pairs parsed from the article's summary bullet list; empty object when the article has no summary list",
    "deadline": "application deadline as written in the article, or null",
    "sections": "array of {heading, items[], links[]} covering every heading of the article body",
    "eligibility": "array of eligibility/qualification bullet strings; empty when the article has no such section",
    "published_at": "ISO-8601 publish timestamp with offset, from the article metadata",
    "age_eligibility": "the article sentence stating an age requirement, or null when none is stated",
    "application_url": "first external application link in the apply section, or null",
    "application_emails": "array of email addresses found in the article body",
    "application_instructions": "array of text items under the article's apply heading"
  },
  "sample": {
    "data": {
      "url": "https://cookuf.net/social-media-content-creator-internship-2026-at-wunti-al-khair-foundation-in-northern-nigeria/",
      "title": "Social Media Content Creator Internship 2026 at Wunti Al-Khair Foundation in Northern Nigeria",
      "stipend": "₦70,000 – ₦90,000",
      "summary": {
        "stipend": "₦70,000 – ₦90,000",
        "deadline": "September 27, 2026",
        "duration": "3–6 Months",
        "location": "Bauchi State",
        "position": "Social Media and Content Creator Intern",
        "work_mode": "Onsite"
      },
      "deadline": "September 27, 2026",
      "sections": [
        {
          "items": [
            "Position: Social Media and Content Creator Intern",
            "Deadline: September 27, 2026"
          ],
          "links": [],
          "heading": "Internship Summary"
        },
        {
          "items": [],
          "links": [
            "https://docs.google.com/forms/d/e/1FAIpQLSc7w-cVQeyCO2UdNxkHmRl4Bdyy1DiEkg9Iug5yC6pKJo1vUg/viewform"
          ],
          "heading": "Apply here"
        }
      ],
      "eligibility": [
        "Applicants should have:",
        "A minimum of a Diploma or Bachelor’s degree in a relevant field. Professional experience or demonstrated skills in content creation will be an added advantage.",
        "Fluency in Hausa and English."
      ],
      "published_at": "2026-09-25T08:32:58+00:00",
      "age_eligibility": null,
      "application_url": "https://docs.google.com/forms/d/e/1FAIpQLSc7w-cVQeyCO2UdNxkHmRl4Bdyy1DiEkg9Iug5yC6pKJo1vUg/viewform",
      "application_emails": [],
      "application_instructions": [
        "Apply here"
      ]
    },
    "status": "success"
  }
}

About the cookuf API

What the API Returns

The get_opportunity_details endpoint accepts one required parameter, article_slug — the lowercase hyphenated last path segment of a cookuf.net article URL. It returns a title, a canonical url, and a published_at ISO-8601 timestamp so you can track freshness. The summary field is a key/value object built from the article's bullet summary list (e.g. "Organization", "Location", "Duration"), giving you machine-readable metadata without parsing prose.

Deadline, Stipend, and Eligibility Fields

Three fields target the most commonly queried data points for opportunity aggregators: deadline (the application closing date as written in the article), stipend (the stated compensation with currency preserved as written, or null when unpaid or unstated), and eligibility (an array of qualification bullet strings). A separate age_eligibility field isolates any sentence stating an age cap or range, returned as a plain string or null.

Sections and Application Links

The sections array covers every heading in the article body, each entry carrying a heading string, an items array of bullet content under that heading, and a links array of URLs found within that section. The application_url field returns the first external link found in the apply section — useful when you need to send a user directly to the host organization's application form or contact email without parsing the full sections array.

Reliability & maintenanceVerified

The cookuf API is a managed, monitored endpoint for cookuf.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cookuf.net 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 cookuf.net 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
23m 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
  • Aggregate fellowship and internship deadlines from cookuf.net into a unified calendar app using the deadline field
  • Build a stipend comparison tool for African opportunity listings using the stipend and summary fields
  • Filter opportunities by age requirement using the age_eligibility field to surface youth-targeted programs
  • Populate a job board with structured eligibility criteria by mapping the eligibility array to filterable tags
  • Monitor newly published opportunities by polling published_at timestamps across multiple article slugs
  • Route applicants directly to host organization forms by extracting application_url without manual link hunting
  • Classify opportunities by location or sector using label/value pairs in the summary object
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 cookuf.net have an official developer API?+
No. cookuf.net does not publish an official developer API or data export. This Parse API is the structured way to access opportunity data from the site.
What does `get_opportunity_details` return for articles that have no summary bullet list?+
When an article has no summary bullet list, the summary field is returned as an empty object. Similarly, eligibility returns an empty array when no eligibility section is present, and stipend, deadline, age_eligibility, and application_url each return null when the article does not state them.
Can I search or list multiple opportunities in a single call?+
Not currently. The API fetches one article per call, identified by its article_slug. There is no search, listing, or batch endpoint. You can fork this API on Parse and revise it to add a listing or search endpoint that returns multiple slugs or article summaries.
Does the API cover opportunities from sites other than cookuf.net?+
No — the API is scoped entirely to cookuf.net articles. It does not cover other African opportunity boards or aggregators. You can fork it on Parse and revise it to add endpoints that pull from additional opportunity sources.
How current is the data returned by `get_opportunity_details`?+
Each call retrieves the current state of the specified article. The published_at field reflects the publish timestamp from the article metadata. Articles that have been updated or removed on cookuf.net will reflect those changes on the next call — there is no cached snapshot stored by the API.
Page content last updated . Spec covers 1 endpoint from cookuf.net.
Related APIs in JobsSee all →
opportunitydesk.org API
Find and access grant opportunities from Opportunity Desk with key details like deadlines, eligible countries, applicant requirements, funding amounts, and application links. Browse available grants or dive into specific grant information to identify funding that matches your needs.
notgoingtouni.co.uk API
Search and discover apprenticeship opportunities across sectors and companies on NotGoingToUni.co.uk, filtering by opportunity types and viewing detailed information about specific roles. Browse featured apprenticeships and explore available sectors and employers to find the right career path.
onnetpulse.com API
onnetpulse.com API
profilculture.com API
Search and filter job listings in France's cultural and media sectors by keyword, sector, region, contract type, or job family to find employment opportunities and internships. Retrieve full details on specific job offers including requirements, contract terms, and position information.
getmyfirstjob.co.uk API
Search and browse apprenticeship and early career opportunities across the UK by occupation, location, and employer. Access detailed job descriptions, employer profiles, occupation categories, and the latest apprenticeship listings from GetMyFirstJob.co.uk.
careers.opentext.com API
Access data from careers.opentext.com.
hubmub.com API
Search and discover job opportunities on HubMub by filtering results based on your preferred search terms, job type, category, industry, and location. Retrieve detailed information about specific job listings to help you find the right position that matches your career goals.
careers-page.com API
Access data from careers-page.com.