Discover/CareerOneStop API
live

CareerOneStop APIcareeronestop.org

Search 10,000+ scholarships, fellowships, grants, and loans from CareerOneStop. Filter by keyword, study level, award type, and eligibility. Retrieve full award details.

Endpoint health
verified 3h ago
search_scholarships
get_scholarship
2/2 passing latest checkself-healing
Endpoints
2
Updated
4h ago

What is the CareerOneStop API?

This API provides access to CareerOneStop's catalog of over 10,000 scholarships, fellowships, grants, prizes, and loans across two endpoints. The search_scholarships endpoint accepts filters for keyword, level of study, award type, affiliation, sex, and location, returning paged award summaries including name, organization, purpose, award amount, and a scholarship_id you can pass directly to get_scholarship for the full record.

This call costs2 credits / call— charged only on success
Try it
Sex-specific restriction of the award. Omitted = awards open to any sex plus sex-specific ones.
1-based result page.
Result ordering.
Free-text keyword matched against award name, organization and purpose (e.g. nursing). Omitted = no keyword filter.
Awards per page; the site accepts 10, 25 or 50 and other values are rejected.
Kind of financial award. Omitted = all award types.
Required affiliation or group membership the award is restricted to. Omitted = no affiliation filter.
Level of study the award supports. Omitted = all levels.
Where the applicant will study, as the site labels it: US, International, or a full US state/territory name such as Texas. Passed to the site as written; an unknown value yields an empty result. Omitted = no study-place filter.
Where the applicant lives, as the site labels it: US, International, or a full US state/territory name such as Ohio or District of Columbia. Passed to the site as written; an unknown value yields an empty result. Omitted = no residence restriction filter.
api.parse.bot/scraper/00e357bc-4084-4a64-8666-7e753b59ce13/<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/00e357bc-4084-4a64-8666-7e753b59ce13/search_scholarships?sex=female&keyword=nursing&level_of_study=graduate' \
  -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 careeronestop-org-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: CareerOneStop Scholarship Finder — bounded, re-runnable."""
from parse_apis.careeronestop_org_api import (
    CareerOneStop, LevelOfStudy, Sex, Sort, ScholarshipNotFound,
)

client = CareerOneStop()

# Search for nursing scholarships aimed at female graduate students.
for summary in client.scholarship_summaries.search(
    keyword="nursing",
    level_of_study=LevelOfStudy.GRADUATE,
    sex=Sex.FEMALE,
    sort=Sort.DEADLINE_ASC,
    limit=5,
):
    print(summary.name, "|", summary.organization, "|", summary.award_amount)

# Drill into the first hit for full detail (qualifications, how to apply, etc.).
hit = client.scholarship_summaries.search(
    keyword="nursing",
    level_of_study=LevelOfStudy.GRADUATE,
    limit=1,
).first()

if hit is not None:
    detail = hit.details()
    print(detail.name)
    print("Amount:", detail.award_amount)
    print("Qualifications:", detail.qualifications)
    print("Deadline:", detail.deadline)
    print("Emails:", detail.emails)

    # Same record reachable by direct ID lookup.
    try:
        same = client.scholarships.get(scholarship_id=hit.scholarship_id)
        print("Direct lookup:", same.name, "| Focus:", same.focus)
    except ScholarshipNotFound:
        print("Scholarship no longer available")

print("exercised: scholarship_summaries.search / details / scholarships.get")
All endpoints · 2 totalmissing one? ·

Searches the scholarship catalog and returns one page of award summaries (name, organization, purpose, levels of study, award types, award amount, deadline month, canonical scholarship_id and detail URL). All filters combine with AND. Results are paged: page (1-based, default 1) and page_size (10, 25 or 50; default 10) are the caller's paging controls; total is the site's reported match count (the unfiltered catalog reports a maximum of 10,000) and has_more tells whether a further page exists. A combination of filters that matches nothing returns total 0 and an empty scholarships array (success). One round trip per call.

Input
ParamTypeDescription
sexstringSex-specific restriction of the award. Omitted = awards open to any sex plus sex-specific ones.
pageinteger1-based result page.
sortstringResult ordering.
keywordstringFree-text keyword matched against award name, organization and purpose (e.g. nursing). Omitted = no keyword filter.
page_sizeintegerAwards per page; the site accepts 10, 25 or 50 and other values are rejected.
award_typestringKind of financial award. Omitted = all award types.
affiliationstringRequired affiliation or group membership the award is restricted to. Omitted = no affiliation filter.
level_of_studystringLevel of study the award supports. Omitted = all levels.
study_locationstringWhere the applicant will study, as the site labels it: US, International, or a full US state/territory name such as Texas. Passed to the site as written; an unknown value yields an empty result. Omitted = no study-place filter.
residence_locationstringWhere the applicant lives, as the site labels it: US, International, or a full US state/territory name such as Ohio or District of Columbia. Passed to the site as written; an unknown value yields an empty result. Omitted = no residence restriction filter.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page returned",
    "total": "integer count of matching awards reported by the site (max 10,000)",
    "has_more": "boolean, true when a later page exists",
    "page_size": "integer awards per page",
    "scholarships": "array of award summaries; each has scholarship_id (string, use with get_scholarship), name, url (detail page), organization, purpose, levels_of_study (array of strings), award_types (array of strings), award_amount (string as displayed, may be N/A or null), deadline (month name or null)"
  },
  "sample": {
    "data": {
      "page": 1,
      "total": 3,
      "has_more": false,
      "page_size": 10,
      "scholarships": [
        {
          "url": "https://www.careeronestop.org/Toolkit/Training/find-scholarships-detail.aspx?scholarshipId=9997232",
          "name": "Faye Lynn Roberts Education Scholarship Fund",
          "purpose": "To fund scholarships for female students pursuing a career in technical studies, court reporting, computer training, or nursing.",
          "deadline": "January",
          "award_types": [
            "Scholarship"
          ],
          "award_amount": "$750",
          "organization": "Collaboratory",
          "scholarship_id": "9997232",
          "levels_of_study": [
            "Bachelor's Degree",
            "Graduate Degree",
            "High School"
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the CareerOneStop API

Searching the Scholarship Catalog

The search_scholarships endpoint accepts up to eight filter parameters that combine with AND logic. Use keyword to match free text against award names, organizations, and purpose statements. Narrow results further with level_of_study (e.g., undergraduate, graduate), award_type (scholarship, fellowship, grant, loan, prize), affiliation for awards tied to group memberships, and sex for sex-restricted awards. Omitting a filter returns all values for that dimension. Results are paged; page_size must be 10, 25, or 50 — other values are rejected. The response includes total (capped at 10,000), has_more to detect additional pages, and an array of award summaries each carrying a scholarship_id string.

Retrieving Full Award Detail

Pass any scholarship_id from a search response to get_scholarship to retrieve the complete record. The detail response includes fields not present in search results: focus (fields of study targeted), qualifications (eligibility requirements), criteria (selection criteria text), to_apply (application instructions), duration, deadline as written by the sponsor, phone, and emails for sponsor contact. Fields the sponsor did not supply come back as null rather than being omitted, so you can safely check each field without guarding for key absence.

Coverage and Filtering Notes

The catalog covers U.S.-based awards. The total field in search_scholarships reflects the count the source reports and is capped at 10,000 regardless of how many records exist. Because filters combine with AND, combining many restrictive parameters can quickly reduce results to zero — it is worth checking total before paginating. The sort parameter controls result ordering but accepted sort values are not enumerated in the response; test against the live endpoint to confirm accepted tokens.

Reliability & maintenanceVerified

The CareerOneStop API is a managed, monitored endpoint for careeronestop.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when careeronestop.org 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 careeronestop.org 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
2/2 endpoints 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
  • Build a scholarship matching tool that filters by level_of_study and keyword to surface relevant awards for a student's field
  • Aggregate sponsor contact data (phone, emails) from get_scholarship to compile a directory of funding organizations
  • Track application deadlines by pulling deadline fields across awards matching a given affiliation or award_type
  • Filter by sex and level_of_study to power a targeted grant finder for underrepresented groups
  • Extract qualifications and criteria text to train a classifier that predicts eligibility from a student profile
  • Display purpose and focus fields in a college advising dashboard so counselors can quickly brief students on award goals
  • Page through the full catalog with search_scholarships to build a local snapshot of award amounts and deadlines for offline analysis
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 CareerOneStop have an official developer API?+
Yes. CareerOneStop publishes an official API at https://www.careeronestop.org/Developers/WebAPI/web-api.aspx, maintained by the U.S. Department of Labor. It requires a registered token and covers multiple workforce tools including the scholarship finder.
What does `search_scholarships` return versus `get_scholarship`, and when should I call each?+
search_scholarships returns paged summaries: name, organization, purpose, award_type, level_of_study, award_amount, deadline month, and the scholarship_id you need for the detail call. get_scholarship returns the full record for one award, adding focus, qualifications, criteria, to_apply, duration, sponsor phone, and emails. Call search first to filter the catalog, then call detail only for awards you intend to display or store in full.
Are there any hard limits on pagination or result counts?+
Yes. The total field in search_scholarships is capped at 10,000 regardless of how many matching records exist, so you cannot determine exact catalog size from the API alone. Additionally, page_size must be exactly 10, 25, or 50 — the endpoint rejects other values. Plan your pagination loops around those constraints.
Does the API expose residence or study location filters mentioned in the plan summary?+
The search_scholarships inputs as defined do not include separate residence or study location parameters — available filters are keyword, level of study, award type, affiliation, sex, sort, page, and page_size. If location-based filtering is important to your use case, you can fork this API on Parse and revise it to add the missing location parameters.
Can I retrieve a list of valid values for parameters like `affiliation`, `level_of_study`, or `award_type`?+
The API does not expose an endpoint that enumerates accepted filter values for these parameters. The CareerOneStop scholarship finder's public interface lists options like undergraduate, graduate, certificate, and award types such as scholarship, fellowship, grant, loan, and prize, but a formal lookup endpoint is not part of this API. You can fork the API on Parse and revise it to add a filter-values enumeration endpoint.
Page content last updated . Spec covers 2 endpoints from careeronestop.org.
Related APIs in EducationSee all →
usnews.com API
Search thousands of scholarships from US News & World Report to find opportunities matching your eligibility, with details on award amounts and application deadlines. Discover scholarships tailored to your profile and stay on top of key deadlines to maximize your funding options.
scholarships.com API
Search and browse the Scholarships.com directory by category — including academic major, residence state, ethnicity, gender, school year, and deadline. Retrieve scholarship listings within any category and subcategory, and fetch full details for individual scholarships including award amounts, eligibility criteria, application deadlines, and application links.
fastweb.com API
Search and browse thousands of scholarships from Fastweb by category, state, or major, while accessing detailed scholarship information, financial aid articles, and student discounts to help fund your education. Find featured opportunities and compare aid options all in one place.
scholarshipportal.com API
Search and discover scholarships, degree programmes, and universities across StudyPortals' global education database, with the ability to filter by countries, disciplines, and other criteria. Get detailed information about specific scholarships and programmes to compare educational opportunities that match your academic interests.
mastersportal.com API
Search and browse thousands of scholarships from Mastersportal.com to find funding opportunities tailored to your destination country and academic discipline. Filter results by your preferred study location and field of study to discover scholarships that match your educational goals.
simpler.grants.gov API
Search and discover federal funding opportunities available through Grants.gov, then retrieve detailed information about grants, loans, and other financial assistance programs that match your needs. Access comprehensive opportunity details including eligibility requirements, funding amounts, and application deadlines all in one place.
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.
cucas.cn API
Search for scholarships and study programs across Chinese universities, browse detailed scholarship information, and discover the latest funding opportunities available through China's official university admission system. Find universities and compare academic programs to plan your studies in China.