Project Tycho Pre-compiled Data Format v1.0 — surveillance row

One row returned by GET https://www.tycho.pitt.edu/api/query, expressed as an object. The API returns CSV, not JSON; this schema describes the shape of a parsed row so that a client, agent or pipeline has a contract to validate against. Every property below is named in the University of Pittsburgh's own published API reference at https://www.tycho.pitt.edu/dataset/api/ as either a returned variable or a filterable variable. Types are string throughout because CSV is untyped on the wire and Project Tycho publishes no type declarations; the semantic type is given in each description instead.

UniversityHigher EducationEducationUnited StatesPublic Research UniversityResearch DataOpen DataEpidemiologyPublic HealthCivic DataScholarly PublishingInstitutional RepositoryLibraryIdentity FederationOAI-PMHOpen Access

Properties

Name Type Description
ConditionName string Human-readable name of the notifiable condition, e.g. Measles. Case-sensitive.
ConditionSNOMED string SNOMED CT concept identifier for the condition.
PathogenName string Scientific name of the causative pathogen.
PathogenTaxonID string NCBI Taxonomy identifier for the pathogen.
CountryISO string ISO 3166-1 alpha-2 country code.
CountryName string Country name in Project Tycho's own casing, e.g. UNITED STATES OF AMERICA.
Admin1ISO string ISO 3166-2 code for the first-level administrative division, e.g. US-PA.
Admin1Name string Name of the first-level administrative division, e.g. Pennsylvania.
Admin2Name string Name of the second-level administrative division — a US county or equivalent.
CityName string Name of the city the count was reported for.
PeriodStartDate string Start of the reporting period, YYYY-MM-DD.
PeriodEndDate string End of the reporting period, YYYY-MM-DD.
PartOfCumulativeCountSeries string 1 if the row belongs to a cumulative count series, 0 if it is a period count.
AgeRange string Age band the count applies to. Enumerable at GET /api/agerange.
Subpopulation string Subpopulation the count applies to. Enumerable at GET /api/subpopulation.
PlaceOfAcqusition string Where the infection was acquired. The misspelling is Project Tycho's own, in both the reference and the data format, and is reproduced verbatim because a client must send and read the term the API act
DiagnosisCertainty string Certainty of the diagnosis behind the reported count. Enumerable at GET /api/diagnosiscertainty.
SourceName string Agency or publication the count was reported by. Enumerable at GET /api/sourcename.
Fatalities string 1 if the count is of fatalities, 0 if not.
View JSON Schema on GitHub

JSON Schema

university-of-pittsburgh-project-tycho-data-row.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/university-of-pittsburgh/refs/heads/main/json-schema/university-of-pittsburgh-project-tycho-data-row.json",
  "title": "Project Tycho Pre-compiled Data Format v1.0 — surveillance row",
  "description": "One row returned by GET https://www.tycho.pitt.edu/api/query, expressed as an object. The API returns CSV, not JSON; this schema describes the shape of a parsed row so that a client, agent or pipeline has a contract to validate against. Every property below is named in the University of Pittsburgh's own published API reference at https://www.tycho.pitt.edu/dataset/api/ as either a returned variable or a filterable variable. Types are string throughout because CSV is untyped on the wire and Project Tycho publishes no type declarations; the semantic type is given in each description instead.",
  "x-provenance": {
    "generated": "2026-08-30",
    "method": "derived",
    "source": "https://www.tycho.pitt.edu/dataset/api/ (HTTP 200, 2026-08-30)",
    "operator": "institution",
    "authorship": "Written by API Evangelist, not published by the University of Pittsburgh. Project Tycho publishes no JSON Schema, no OpenAPI and no machine-readable data dictionary.",
    "coverage": "The variables the published reference enumerates. The reference states that filtering is available on 'any of the variables included in the Project Tycho Format' without listing them exhaustively, so the format may carry further columns; those are deliberately absent here rather than guessed."
  },
  "type": "object",
  "properties": {
    "ConditionName": { "type": "string", "description": "Human-readable name of the notifiable condition, e.g. Measles. Case-sensitive." },
    "ConditionSNOMED": { "type": "string", "description": "SNOMED CT concept identifier for the condition." },
    "PathogenName": { "type": "string", "description": "Scientific name of the causative pathogen." },
    "PathogenTaxonID": { "type": "string", "description": "NCBI Taxonomy identifier for the pathogen." },
    "CountryISO": { "type": "string", "description": "ISO 3166-1 alpha-2 country code.", "pattern": "^[A-Z]{2}$" },
    "CountryName": { "type": "string", "description": "Country name in Project Tycho's own casing, e.g. UNITED STATES OF AMERICA." },
    "Admin1ISO": { "type": "string", "description": "ISO 3166-2 code for the first-level administrative division, e.g. US-PA." },
    "Admin1Name": { "type": "string", "description": "Name of the first-level administrative division, e.g. Pennsylvania." },
    "Admin2Name": { "type": "string", "description": "Name of the second-level administrative division — a US county or equivalent." },
    "CityName": { "type": "string", "description": "Name of the city the count was reported for." },
    "PeriodStartDate": { "type": "string", "format": "date", "description": "Start of the reporting period, YYYY-MM-DD." },
    "PeriodEndDate": { "type": "string", "format": "date", "description": "End of the reporting period, YYYY-MM-DD." },
    "PartOfCumulativeCountSeries": { "type": "string", "enum": ["0", "1"], "description": "1 if the row belongs to a cumulative count series, 0 if it is a period count." },
    "AgeRange": { "type": "string", "description": "Age band the count applies to. Enumerable at GET /api/agerange." },
    "Subpopulation": { "type": "string", "description": "Subpopulation the count applies to. Enumerable at GET /api/subpopulation." },
    "PlaceOfAcqusition": { "type": "string", "description": "Where the infection was acquired. The misspelling is Project Tycho's own, in both the reference and the data format, and is reproduced verbatim because a client must send and read the term the API actually uses." },
    "DiagnosisCertainty": { "type": "string", "description": "Certainty of the diagnosis behind the reported count. Enumerable at GET /api/diagnosiscertainty." },
    "SourceName": { "type": "string", "description": "Agency or publication the count was reported by. Enumerable at GET /api/sourcename." },
    "Fatalities": { "type": "string", "enum": ["0", "1"], "description": "1 if the count is of fatalities, 0 if not." }
  },
  "additionalProperties": true
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/university-of-pittsburgh-project-tycho-data-row"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.