Skip Header
U.S. flag

An official website of the United States government

Post-Secondary Employment Outcomes (PSEO) Time Series (2001 – 2018)

The experimental Post-Secondary Employment Outcomes (PSEO) dataset is now available as a Census Bureau API.

PSEO are experimental tabulations developed by the Center for Economic Studies' Longitudinal Employer-Household Dynamics (LEHD) Research program at the U.S. Census Bureau. PSEO data provide earnings and employment outcomes for college and university graduates by degree level, degree major, and post-secondary institution. These statistics are generated by matching university transcript data with a national database of jobs, using state-of-the-art confidentiality protection mechanisms to protect the underlying data.

The PSEO are made possible through data sharing partnerships between universities, university systems, State Departments of Education, State Labor Market Information offices, and the U.S. Census Bureau. PSEO data are available for post-secondary institutions whose transcript data has been made available to the Census Bureau through a data-sharing agreement.

For more information on the PSEO, see the PSEO data page. For information on other LEHD data products, check out the data page.

Parameters/Variables in a PSEO API Call

Basic Settings - Endpoint, Get Statement, INSTITUTION, Geography, Key

  • Required: One endpoint – listed above.
    • earnings?” - Earnings
    • flows?” – Flows
  • Required: A “get” statement – this is typically used to display indicators, but categorical variables, label fields, or status flags can also be added here. Categorical variables, label fields, and status flags in the “get” statement will display all available values.
    • get=Y1_P25_EARNINGS
  • Required: The INSTITUTION categorical variable is required in either the “get” or “for” statement.
    • get=INSTITUTION”  - or-
    • “&INSTITUTION=00365800”
  • Required for Flows Endpoint only: At least one geography in the “for” statement
    • “&for=division:1” requests Census Division data by FIPS code for the New England Division
    • “&for=us:1” requests national data
  • All selections in the “get” statement must be separated by commas, all selections in the “for” statement must be separated by the ampersand (“&”) character.
  • Default values for other categorical variables are assumed if not specified. Examples showing the minimum requirements for a fully-formed basic query for the Earnings Endpoint and the Flows Endpoint:


The following two PSEO API queries demonstrate the key components available for each endpoint. The first query will return median earnings one year after graduation from the University of Texas – Austin with a baccalaureate degree in Computer and Information Sciences during the three-year 2001 cohort. The second query will return the count of those same graduates that are employed in the Professional, Scientific, and Technical Services industry in the Pacific Census Division one year after graduating. These two examples are repeated in each of the sections below, with the relevant statement bolded in the query.

Earnings: &key=YOUR_KEY_GOES_HERE


Select desired Indicators using the “get” statement.

Geography (Flows Endpoint only)

  • Select the desired Geography codes as a “predicate” using “&for” statement.
  • Geographies represent the geography of the employer and can be “national” or “division” (use “&for=us:1” for national totals).
  • View available division codes [TXT <1.0 MB]


Earnings: &key=YOUR_KEY_GOES_HERE


  • Select desired Institution (OPEID) codes as a “predicate”.
  • Institution codes are required to be eight characters long, with the last two digits representing sub-institution codes. As you can see in the above example, the University of Texas –Austin code is six digits with no sub-institution codes, so is represented as “00365800”.
  • View available INSTITUTION codes [TXT <1.0 MB]

CIP Code



  • Select desired CIPCODE (Classification of Instruction Programs) characteristic as a “predicate”.
  • CIP Codes can be two or four digits for the Earnings Endpoint. Four digit CIP Codes are formatted with a decimal after the first two digits – i.e. “11.01”. CIP Codes are only two digits for the Flows Endpoint.
  • View available CIPCODE characteristics [TXT <1.0 MB]

Graduation Cohort



  • Select desired Graduation Cohort year as a “predicate”.
  • Graduation Cohort year is a four digit number representing the first year of the graduation cohort. The number of years in the cohort is reported in the separate GRAD_COHORT_YEARS variable. When tabulating across all cohorts, the value “0000" will be used for GRAD_COHORT.
  • Rules for determining valid values for GRAD_COHORT: if DEGREE_LEVEL=05 (i.e. Baccalaureate), valid values are 2001, 2004, 2007, 2010, 2013, 2016. For any other DEGREE_LEVEL, valid values are 2001, 2006, 2011.

Graduation Cohort Years



  • Select the number of Graduation Cohort years as a “predicate”.
  • The number of Graduation Cohort years is the number of year cohorts in the graduation cohort of reference. It varies by degree_level. Since tabulations are not done across degree levels, GRAD_COHORT_YEARS will be reported when GRAD_COHORT=0000.
  • Rules for determining valid values for GRAD_COHORT_YEARS: if DEGREE_LEVEL=05 (i.e. Baccalaureate), GRAD_COHORT_YEARS=3 (3 year cohorts). For any other DEGREE_LEVEL, GRAD_COHORT_YEARS=5 (5 year cohorts).

Notes/Data Limitations

  • Wildcards (“*”) can currently only be used to select Census Divisions – i.e. “&for=division:*”.
  • The “get” statement can hold categorical variable names, labels, and status flags in addition to indicator names. Adding a categorical variable name to the “get” statement will include that column in the query results and returns all of its characteristics.
  • Labels exist for all categorical variables – simply add “LABEL_” to the beginning of a categorical variable (i.e. LABEL_CIPCODE).
  • Status flags [TXT <1.0 MB] exist for all indicators – simply add “STATUS_” to the beginning of an indicator (i.e. STATUS_ Y1_GRADS_EMP). The exception to this rule is the 25th, 50th, and 75th percentile earnings indicators are represented by a single status flag. For example, the status flag for Y1_P25_EARNINGS, Y1_P50_EARNINGS, and Y1_P75_EARNINGS would be STATUS_Y1_EARNINGS.
  • Commas can be used to select multiple indicators, multiple geographies, and multiple graduation cohorts. Multiples for other categories can be requested via the “get” statement or using the complete parameter string in the “for” statement (i.e. “&INDUSTRY=11&INDUSTRY=54&INDUSTRY=22”).
  • The INST_LEVEL [TXT <1.0 MB] (“&INST_LEVEL=I”) variable is available to query via the API, but currently only “I” institution levels are reported in the data.
  • The AGG_LEVEL_PSEO [TXT <1.0 MB] (“&AGG_LEVEL_PSEO=38”) variable is also available to query via the API. This field functions similar to a summary level and can be used to return all tabulations for a particular categorical variable crossing.
  • CIP_LEVEL and IND_LEVEL (Flows Endpoint only) are not required when using CIPCODE and INDUSTRY, respectively. If CIP_LEVEL and/or IND_LEVEL are used, make sure the values queried match the CIPCODE and INDUSTRY codes. For example, use CIP_LEVEL=2 when CIPCODE is two digits and IND_LEVEL=S when INDUSTRY is two digits.

Related Information

The data provided represent official statistics released by the U.S. Census Bureau. Do not alter the precision of data values when storing or formatting them for display, or the results may disagree with the official releases. All products developed using these data files must attribute the data source as the U.S. Census Bureau. Include the originating program name for the benefit of your users.


Back to Header