College Scorecard - schools, costs, earnings, completion (API) avatar

College Scorecard - schools, costs, earnings, completion (API)

Pricing

from $5.00 / 1,000 records

Go to Apify Store
College Scorecard - schools, costs, earnings, completion (API)

College Scorecard - schools, costs, earnings, completion (API)

One row per U.S. college from the Dept. of Education's College Scorecard API: name, location, ownership, predominant degree, admission rate, net price, tuition, median earnings 10 years after entry, completion rate, size, plus any Scorecard field id. Filter by name, state, degree level, ownership.

Pricing

from $5.00 / 1,000 records

Rating

0.0

(0)

Developer

RetrainMap Team

RetrainMap Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

College Scorecard — schools, costs, earnings, completion (API)

One row per U.S. postsecondary institution from the U.S. Department of Education's College Scorecard API (https://api.data.gov/ed/collegescorecard/v1/schools). Filter by school name (substring), state, predominant degree level (certificate / associate / bachelor's) and ownership (public / private nonprofit / for-profit); get IPEDS unit id, name, city, state, zip, website, ownership, predominant degree, admission rate, average net price, in-state and out-of-state tuition, median earnings 10 years after entry, completion rate, undergraduate size and student-faculty ratio — plus any other Scorecard field id you name — one flat row per school, ready for CSV or JSON.

The default input (North Carolina, certificate + associate schools, 100 rows) succeeds within 5 minutes and returns rows — Apify auto-tests it daily.

You need a free api.data.gov key. The Scorecard API refuses every request without one (API_KEY_MISSING). Request one at https://api.data.gov/signup/ (it arrives by e-mail within minutes) and paste it into api_key (stored encrypted by Apify, never logged) — or set the DATA_GOV_API_KEY environment variable on the Actor. The public copy of this Actor carries the operator's key as a secret environment variable, so runs work without one.

Data source and status

PublisherU.S. Department of Education, Office of Federal Student Aid — College Scorecard
APIhttps://api.data.gov/ed/collegescorecard/v1/schools — key required (documentation: https://collegescorecard.ed.gov/data/api-documentation/; data dictionary: https://collegescorecard.ed.gov/data/)
What this Actor readsPlain GET requests with school.name, school.state, school.degrees_awarded.predominant, school.ownership, fields, sort, per_page=100, page=N; at most one request per 500 ms; 100 schools per request (a 5,000-row run is 50 requests against the key's 1,000-per-hour limit)
Refresh cadenceThe Department updates the institution-level Scorecard file about once a year (with occasional mid-year refreshes); every latest.* field is the newest published year for that measure. The Actor reads live on every run; fetched_at on each row is the fetch time
CopyrightWorks of the United States Government are not subject to copyright in the U.S. (17 U.S.C. §105). The data are public; please cite the College Scorecard as the source
Known caveatsadmission_rate is null for open-admission schools (most community colleges); avg_net_price_public / avg_net_price_private are two sector columns — avg_net_price is the one that applies to the school's ownership; median_earnings_10yr counts federally aided students only and is suppressed (null) for small cohorts; completion_rate is Scorecard's rate_suppressed.overall (150 % of normal time, first-time full-time); the API silently drops unknown field ids, so the run stops with an error naming any custom_fields id that did not come back; an unknown state code simply matches nothing

Honesty note: the rows are the API's own latest values renamed to plain column names, with the ownership and predominant-degree codes labelled from the Scorecard data dictionary — nothing is inferred, estimated or ranked by this Actor, and a run stops with an error rather than guess when the API's shape changes.

Identification: api.data.gov's edge refuses custom product-token User-Agents (HTTP 403, measured 2026-09-04), so the requests carry urllib's own truthful Python-urllib/3.x User-Agent and the operator's contact address in the standard From: header (RFC 9110 §10.1.2). The key travels only in the request; it is removed from every log line, error message and dataset row.

Input

FieldTypeMeaning
name_containsstringOptional substring of the school name (school.name partial match)
stateXXOptional two-letter USPS code
predominant_degreesarrayOptional: certificate, associate, bachelor. Empty = all
ownershiparrayOptional: public, private_nonprofit, for_profit. Empty = all
fields_presetcore / minimalcore = the 17 columns above; minimal = identity + ownership + degree
custom_fieldsarray of field idsOptional extra Scorecard field ids, each added as its own column
sortstringOptional `field_id:asc
max_recordsintegerDefault 300, at most 5,000
api_keysecret stringOr the DATA_GOV_API_KEY environment variable
request_interval_msintegerDefault 500 (floor 250)
contact_emailstringSent in the From: header

Example — public community colleges nationwide, richest earnings first, with Pell rate and median debt added:

{ "name_contains": "Community College", "ownership": ["public"], "custom_fields": ["latest.aid.pell_grant_rate", "latest.aid.median_debt.completers.overall"], "sort": "latest.earnings.10_yrs_after_entry.median:desc", "max_records": 200 }

Output (dataset row)

unit_id (IPEDS), name, city, state, zip, url, ownership_code, ownership (public / private nonprofit / private for-profit), predominant_degree_code, predominant_degree (certificate / associate / bachelor / graduate / not classified), admission_rate, avg_net_price_public, avg_net_price_private, avg_net_price, tuition_in_state, tuition_out_of_state, median_earnings_10yr, completion_rate, undergrad_size, student_faculty_ratio, one column per custom_fields id, scorecard_url (the school's page on collegescorecard.ed.gov), fetched_at, source (the API URL without the key).

A run summary (filters, the API's own match count, pages, requests, whether the pay-per-event budget stopped the run) is stored as RUN_SUMMARY in the run's key-value store.

Pricing (pay per event)

EventPrice
run-start — once per run$0.10
record — per row written$0.005

The default pull (≤ 100 rows) costs at most $0.60; 1,000 schools cost $5.10. Rows stop when your run's maximum charge is reached; the run summary says so.

Operator

Steelyard Ventures LLC (RetrainMap) — info@steelyardclinical.com. Not affiliated with the U.S. Department of Education. The Actor writes only to its own dataset and key-value store; your key is used for the API requests only, never stored or logged.