CitySync API Reference

What

The CivicApps API makes a variety of datasets, available through the CivicApps website, easily accessible to developers.

REST API Resources

Base URL

http://api.civicapps.org

Available Resources:

City Park Data

Resource Description
GET /parks Returns all public parks.
Parameters Description
count
optional when used with near
Number: Allows control over number of records returned (default is 3).

Example: count=30
near
optional
Date: Filters results closest to lon,lat

Example: /parks/near/-122.693148,45.557742?count=5

Example request:

GET http://api.civicapps.org/parks/near/-122.693148,45.557742?count=2

{
	status: "ok",
	results: [
		{
			"Address":"N Greeley Ave & Going Ct",
			"OwnedAcres":"8.8499999999999996",
			"Property":"Madrona Park ",
			"PropertyID":"247",
			"SubArea":"N ",
			"UnownedAcres":"0",
			"YearAcquired":"1921",
			"Zip":"97203 ",
			"amenities":[
				"basketball court",
				"natural area",
				"paths : unpaved",
				"playground"
				],
			"loc":{
				"lon":-122.693537,
				"lat":45.557479
			}
		},
		{
			"Address":"2206 N Skidmore St",
			"OwnedAcres":"5.8600000000000003",
			"Property":"Mocks Crest Property ",
			"PropertyID":"906",
			"SubArea":"N ",
			"UnownedAcres":"0",
			"YearAcquired":"1998",
			"Zip":"97217 ",
			"amenities":[
				"natural area"
				],
			"loc":{
				"lon":-122.690884,
				"lat":45.554176
			}
		}
	]
}

Restaurant Inspections

Resource Description
GET /restaurant-inspections Returns 25 most recent restaurant inspections. Base URL for the Restaurant Inspections API resource.
Parameters Description
count
optional
Number: Allows control over number of records returned (default is 25).

Example: count=30
since
optional
Date: Filters results added since the date provided. Date format: YYYY-MM-DD.

Example: since=2011-01-01
from & to
optional
Date: Filters results added between date range provided. Date format: YYYY-MM-DD.

Example: from=2011-03-01&to=2011-05-01

Example request:

GET http://api.civicapps.org/restaurant-inspections/

{
    status: "ok",
    results: [
    {
        name: "Acropolis Mcloughlin",
        inspection_number: "9003667",
        restaurant_id: "42",
        type: "FoodSvcSemi",
        date: "2012-10-14",
        score: "90",
        address: {
            street: "8325 SE Mc Loughlin Blvd",
            city: "Portland",
            zip: "97202"
        },
        location: {
            GISX: "7653323.41801",
            GISY: "662042.809488",
            Latitude: "45.462672740",
            Longitude: "-122.639146744"
        }
    },
    {
        name: "Almos Cosina Surveillance",
        inspection_number: "7203815",
        restaurant_id: "78",
        type: "FoodSvcSemi",
        date: "2012-10-09",
        score: "78",
        address: {
            street: "915 NE Alberta",
            city: "Portland",
            zip: "97211"
        },
        location: {
            GISX: "7649871.90875",
            GISY: "697376.250914",
            Latitude: "45.559295322",
            Longitude: "-122.656269572"
        }
    },
        
    [ ... ]

    ]
}
Resource Description
GET /restaurant-inspections/inspection/:id Returns data for the inspection by number, including restaurant information, violations, and corrections.
Parameters Description
count
optional
Number: Allows control over number of records returned (default is 25).

Example: count=30
since
optional
Date: Filters results added since the date provided. Date format: YYYY-MM-DD.

Example: since=2011-01-01
from & to
optional
Date: Filters results added between date range provided. Date format: YYYY-MM-DD.

Example: from=2011-03-01&to=2011-05-01

Example request:

GET http://api.civicapps.org/restaurant-inspections/inspection/9003287

{
    status: "ok",
    results: {
        restaurant_name: "Acropolis Mcloughlin",
        address: {
            street: "8325 SE Mc Loughlin Blvd",
            city: "Portland",
            zip: "97202"
        },
        location: {
            GISX: "7653323.41801",
            GISY: "662042.809488",
            Latitude: "45.462672740",
            Longitude: "-122.639146744"
        },
        inspection_number: "9003667",
        date: "2012-10-14",
        type: "FoodSvcSemi",
        score: "90",
        violations: [
            {
                law: "3-501.16",
                violation_rule: "VIOLATION OF SECTION 3-501.16*PRIORITY*Potentially hazardous food is not maintained at proper hot or cold holding temperatures, specifically: ",
                violation_comments: "At prep-top-insert, cut tomato helding between 59F - 60F.Change the ice bath when the ice melt. Make sure cut tomato is at least 41F or less at all times.",
                corrective_text: "REQUIRED CORRECTION: CORRECT IMMEDIATELY.  Potentially hazardous foods shall be maintained at 135F or above (except roast beef may be held at 130F (54C) or above) or at 41F or less. ",
                corrective_comments: "Corrected by PIC discarding the cut tomato. And add some more ice into the ice bath to maintained 41F and less."
            },
            {
                law: "3-501.18(A)",
                violation_rule: "VIOLATION OF SECTION 3-501.18(A)*PRIORITY*Refrigerated, ready-to-eat, potentially hazardous food has not been consumed within the required time period or is not properly date-marked, specifically: ",
                violation_comments: "In two-door reach-in Cooked lemon chicken dated 10/01/2012. The PIC stated that his operator forgot to take the old date-mark off from the container.",
                corrective_text: "REQUIRED CORRECTION: CORRECT IMMEDIATELY.  Refrigerated, ready-to-eat, potentially hazardous food prepared in the establishment must be discarded if it has not been consumed within 7 calendar days if stored at 41F or less or is not properly date-marked. ",
                corrective_comments: "Corrected by PIC discarding the cooked lemon chicken just to be in the safe side. When in doubt toss it."
            },
            
            [...]
            
            }
        ]
    }
}
Resource Description
GET /restaurant-inspections/near/:longlat Returns restaurant inspections within a distance of provided long and lat coordinates (comma separated in the URL request).
Parameters Description
distance
optional
Number: Controls the search radius, in miles (default is 1).

Example: count=5
limit
optional
Number: Limits number of returned records (default is 25).

Example: since=2011-01-01
format
optional
String: Returns data in 'json' or 'geojson' format (default is 'json')
from & to
optional
Date: Filters results added between date range provided. Date format: YYYY-MM-DD.

Example: from=2011-03-01&to=2011-05-01

Example request:

GET http://api.civicapps.org/restaurant-inspections/near/-122.663148,45.577742?distance=5&limit=5&format=geojson

{
    status: "ok",
    type: "FeatureCollection",
    features: [
    {
        projection: "4326",
        geometry: {
            type: "Point",
            coordinates: [
                -122.675205907,
                45.569653283
            ]
        },
        type: "Feature",
        properties: {
            title_rendered: "A J Java",
            title: "A J Java",
            name: "A J Java",
            address: "6425 N Albina",
            coordinates_rendered: "45.569653283, -122.675205907",
            coordinates: "-122.675205907,45.569653283",
            latitude_rendered: "45.569653283",
            latitude: "45.569653283",
            longitude_rendered: "-122.675205907",
            longitude: "-122.675205907",
            description: "A J Java",
            id: 0
        },
        wkt: "POINT(-122.675205907,45.569653283)",
        id: 0
    },
    {
        projection: "4326",
        geometry: {
            type: "Point",
            coordinates: [
                -122.675205907,
                45.569653283
            ]
        },
        type: "Feature",
        properties: {
            title_rendered: "A J Java",
            title: "A J Java",
            name: "A J Java",
            address: "6425 N Albina",
            coordinates_rendered: "45.569653283, -122.675205907",
            coordinates: "-122.675205907,45.569653283",
            latitude_rendered: "45.569653283",
            latitude: "45.569653283",
            longitude_rendered: "-122.675205907",
            longitude: "-122.675205907",
            description: "A J Java",
            id: 1
        },
        wkt: "POINT(-122.675205907,45.569653283)",
        id: 1
    },
    
    [...]

}            

 

New Business Licenses

Resource Description
GET /business-licenses Returns 25 most recent businesses. Base URL for the Business Licenses API resource.
Parameters Description
count
optional
Number: Allows control over number of records returned (default is 25).

Example: count=30
since
optional
Date: Filters results added since the date provided. Date format: YYYY-MM-DD.

Example: since=2011-01-01
from & to
optional
Date: Filters results added between date range provided. Date format: YYYY-MM-DD.

Example: from=2011-03-01&to=2011-05-01

Example request:

GET http://api.civicapps.org/business-licenses/

{
    status: "ok",
    results: [
        {
            Privacyid: "91276448",
            GISAddress: "701 SW 6TH AVE",
            GISAddressID: "462172",
            GISCity: "PORTLAND",
            GISStateID: "1S1E03BB 1900",
            GISX: "7643580.064",
            GISY: "682802.807",
            NAICSDescription: "",
            BusinessName: "KULTURSHOCK 560-61-2530 OR REGISRY NUMBER 812900-91",
            NAICS: "",
            DateAdded: "2011-11-27 05:09:00",
            Latitude: "45.519",
            Longitude: "-122.679",
            ZipCode: "97204"
        },
        {
            Privacyid: "91276448",
            GISAddress: "701 SW 6TH AVE",
            GISAddressID: "462172",
            GISCity: "PORTLAND",
            GISStateID: "1S1E03BB 1900",
            GISX: "7643580.064",
            GISY: "682802.807",
            NAICSDescription: "",
            BusinessName: "KULTURSHOCK 560-61-2530 OR REGISRY NUMBER 812900-91",
            NAICS: "",
            DateAdded: "2011-11-27 05:09:00",
            Latitude: "45.519",
            Longitude: "-122.679",
            ZipCode: "97204"
        },
        {
            Privacyid: "64952777",
            GISAddress: "811 E BURNSIDE ST",
            GISAddressID: "627092",
            GISCity: "PORTLAND",
            GISStateID: "1N1E35CB 6700",
            GISX: "7649244.233",
            GISY: "684236.784",
            NAICSDescription: "",
            BusinessName: "BARBEE, JULIA",
            NAICS: "",
            DateAdded: "2011-11-26 05:09:00",
            Latitude: "45.523",
            Longitude: "-122.657",
            ZipCode: "97214"
        },
        
        [ ... ]

    ]
}
Resource Description
GET /business-licenses/categories Returns a listing of top-level business categories as defined by The North American Industry Classification System (NAICS)
Parameters Description
id
optional
Number: NAICS code. Allows you to pull specific category details. Accepts a range of codes, from top-level down to a full 6-digit code.

Example: id=44 or id=4421
q
optional
String: Returns categories whose text description includes your query string.

Example: q=real estate
A Note about NAICS codes

From Wikipedia: "The North American Industry Classification System or NAICS (pronounced "nakes") is used by business and government to classify business establishments according to type of economic activity (process of production) in Canada, Mexico and the United States."

NAICS is hierarchical, with each top-level category (45, for example) housing numerous sub-categories, up to 6-digits. The API returns all categories matching and under the code provided. For example, if you pass 451 (Sporting Goods, Hobby, Book, and Music Stores) to the API, it will return everything under that category, including:

  • 45111 (Sporting Goods Stores)
  • 45112 (Hobby, Toy, and Game Stores)
  • 45113 (Sewing, Needlework, and Piece Goods Stores)
  • 45114 (Musical Instrument and Supplies Stores)

The City of Portland uses 5-digit classification. The following top-level categories are listed below. You can view the full classification hierarchy here.

TOP-LEVEL NAICS CODES

Sector Description
11 Agriculture, Forestry, Fishing and Hunting
21 Mining, Quarrying, and Oil and Gas Extraction
22 Utilities
23 Construction
31-33 Manufacturing
42 Wholesale Trade
44-45 Retail Trade
48-49 Transportation and Warehousing
51 Information
52 Finance and Insurance
53 Real Estate and Rental and Leasing
54 Professional, Scientific, and Technical Services
55 Management of Companies and Enterprises
56 Administrative and Support and Waste Management and Remediation Services
61 Educational Services
62 Health Care and Social Assistance
71 Arts, Entertainment, and Recreation
72 Accommodation and Food Services
81 Other Services (except Public Administration)
92 Public Administration

Example request:

GET http://api.civicapps.org/business-licenses/categories?id=442

{
    status: "ok",
    results: [
        {
            id: "442110",
            description: "Office furniture stores"
        },
        {
            id: "442210",
            description: "Rug stores"
        },
        {
            id: "442291",
            description: "Window treatment stores"
        },
        {
            id: "442299",
            description: "Wood-burning stove stores"
        }
    ]
}
Resource Description
GET /business-licenses/category/:category Returns 25 most recent business licenses matching the category provided. Accept both full and partial NAICS codes.
Parameters Description
count
optional
Number: Allows control over number of records returned (default is 25).

Example: count=30
since
optional
Date: Filters results added since the date provided. Date format: YYYY-MM-DD.

Example: since=2011-01-01
from & to
optional
Date: Filters results added between date range provided. Date format: YYYY-MM-DD.

Example: from=2011-03-01&to=2011-05-01

Example request:

GET http://api.civicapps.org/business-licenses/category/4421

{
    status: "ok",
    results: [
        {
            Privacyid: "80573108",
            GISAddress: "1926-1928 NE 40TH AVE",
            GISAddressID: "37657",
            GISCity: "PORTLAND",
            GISStateID: "1N1E25DD 1300",
            GISX: "7658524.063",
            GISY: "688993.221",
            NAICSDescription: "FURNITURE STORES",
            BusinessName: "JUST FINE INC",
            NAICS: "44211",
            DateAdded: "2011-10-07 05:09:00",
            Latitude: "45.537",
            Longitude: "-122.622",
            ZipCode: "97212"
        },
        {
            Privacyid: "57456197",
            GISAddress: "1024 NW GLISAN ST",
            GISAddressID: "883608",
            GISCity: "PORTLAND",
            GISStateID: "1N1E34CB 60001",
            GISX: "7643027.160",
            GISY: "685479.977",
            NAICSDescription: "FURNITURE STORES",
            BusinessName: "PH REED COMPANY",
            NAICS: "44211",
            DateAdded: "2011-08-28 05:09:00",
            Latitude: "45.526",
            Longitude: "-122.682",
            ZipCode: "97209"
        },
        {
            Privacyid: "64565180",
            GISAddress: "4722-4738 SE HAWTHORNE BLVD",
            GISAddressID: "652140",
            GISCity: "PORTLAND",
            GISStateID: "1S2E06CA 17900",
            GISX: "7660391.405",
            GISY: "679770.563",
            NAICSDescription: "FURNITURE STORES",
            BusinessName: "DROP MODERN",
            NAICS: "44211",
            DateAdded: "2011-08-07 05:09:00",
            Latitude: "45.512",
            Longitude: "-122.613",
            ZipCode: "97215"
        },
        
        [ ... ]

    ]
}
Resource Description
GET /business-licenses/near/:lonlat Returns 25 most recent business licenses closest to the longitude and latitude provided. Ordered by distance.
Parameters Description
distance
optional
Number (in miles): Allows you to expand the search radius beyond the default (1 mile).

Example: distance=5
category
optional
Number: Allows you to filter results by a specific NAICS code. Accepts partial to full NAICS codes.

Example: category=442

Example request:

GET http://api.civicapps.org/business-licenses/near/-122.663148,45.577742?category=442

{
    status: "ok",
    results: [
        {
            Privacyid: "39587611",
            GISAddress: "1136 SW ALDER ST",
            GISAddressID: "101222",
            GISCity: "PORTLAND",
            GISStateID: "1N1E33DD 4000",
            GISX: "7642505.157",
            GISY: "683580.600",
            NAICSDescription: "OTHER HOME FURNISHINGS STORES",
            BusinessName: "CANOE INC",
            NAICS: "44229",
            DateAdded: "2010-12-06 15:28:00",
            Latitude: "45.521",
            Longitude: "-122.684",
            ZipCode: "97205",
            distance: "0.27873934470827405"
        },
        {
            Privacyid: "4043481",
            GISAddress: "1106 W BURNSIDE ST",
            GISAddressID: "626338",
            GISCity: "PORTLAND",
            GISStateID: "1N1E33DD 90000",
            GISX: "7642810.612",
            GISY: "684243.764",
            NAICSDescription: "FURNITURE STORES",
            BusinessName: "HIP INNOVATIVE PRODUCTS LLC",
            NAICS: "44211",
            DateAdded: "2010-12-06 15:28:00",
            Latitude: "45.523",
            Longitude: "-122.682",
            ZipCode: "97205",
            distance: "0.31222756294681314"
        },
        {
            Privacyid: "4043481",
            GISAddress: "1106 W BURNSIDE ST",
            GISAddressID: "626338",
            GISCity: "PORTLAND",
            GISStateID: "1N1E33DD 90000",
            GISX: "7642810.612",
            GISY: "684243.764",
            NAICSDescription: "FURNITURE STORES",
            BusinessName: "HIP INNOVATIVE PRODUCTS LLC",
            NAICS: "44211",
            DateAdded: "2010-12-06 15:28:00",
            Latitude: "45.523",
            Longitude: "-122.682",
            ZipCode: "97205",
            distance: "0.31222756294681314"
        },
        
        [ ... ]
    ]
}

Employment Data

Resource Description
GET /employment Returns most recent available non-farm employment data for all industries in the Portland-Vancouver-Hillsboro metropolitan area (not seasonally adjusted). Data is available through the API from 2006 through 2013.
Parameters Description
month
optional
String: Returns employment data in all industries by month provided.

Example: month=March
year
optional
String: Returns employment data for all months in year provided.

Example: year=2011

Example request:

GET http://api.civicapps.org/employment?month=March

{
    status: "ok",
    year: "2011",
    month: "March",
    results: [
        {
            March: "1,000",
            Industry: "Mining and logging",
            id: "1",
            parentId: ""
        },
        {
            March: "43,100",
            Industry: "Construction",
            id: "2",
            parentId: ""
        },
        {
            March: "9,600",
            Industry: "Construction of buildings",
            id: "3",
            parentId: "2"
        },
        {
            March: "5,200",
            Industry: "Residential building construction",
            id: "4",
            parentId: "3"
        },
        {
            March: "4,400",
            Industry: "Nonresidential building construction",
            id: "5",
            parentId: "3"
        },
        
        [...]
    ]
}

Portland-area Schools School Report Card

Resource Description
GET /schools Returns a list of school names, school IDs, and school type for all schools in the Portland metro area. School districts currently included are:
  • Portland Public Schools
  • Centennial
  • David Douglas
  • Parkrose
  • Reynolds
  • Riverdale
Parameters Description
district
optional
String: Returns schools only in the school district specified. Will return partial matches (ex: 'David Douglas', 'Douglas')

Example: district=Portland

Example request:

GET http://api.civicapps.org/schools

{
    status: "ok",
    results: [
        {
            SchoolDistrict: "Portland SD 1J",
            SchoolID: "822",
            SchoolName: "Abernethy Elementary School",
            PhoneNumber: "503-916-6190",
            SchoolType: "E",
            Url: "www.pps.k12.or.us/schools/abernethy",
            StreetAddress1: "2421 SE Orange",
            Zip: "97214",
            Latitude: "45.505553000",
            Longitude: "-122.651167000"
        },
        {
            SchoolDistrict: "Portland SD 1J",
            SchoolID: "823",
            SchoolName: "Ainsworth Elementary School",
            PhoneNumber: "503-916-6288",
            SchoolType: "E",
            Url: "www.pps.k12.or.us/schools/ainsworth",
            StreetAddress1: "2425 SW Vista Ave",
            Zip: "97201",
            Latitude: "45.509786000",
            Longitude: "-122.698841000"
        },
        {
            SchoolDistrict: "Portland SD 1J",
            SchoolID: "824",
            SchoolName: "Alameda Elementary School",
            PhoneNumber: "503-916-6036",
            SchoolType: "E",
            Url: "www.pps.k12.or.us/schools/alameda",
            StreetAddress1: "2732 NE Fremont St ",
            Zip: "97212",
            Latitude: "45.548232000",
            Longitude: "-122.637681000"
        },            
            [...]
        ]
}
Resource Description
GET /schools/:id Returns current year School Report Card data for the school ID provided.
year
optional
Number (YYYY year format): Returns performance data for specified year.

Example: year=2011

Example request:

GET http://api.civicapps.org/schools/822

{
    status: "ok",
    results: {
        DistrictName: "Portland SD 1J",
        SchoolID: "822",
        SchoolName: "Abernethy Elementary School",
        SchoolType: "E",
        GradeLowest: "KG",
        GradeHighest: "5",
        ESEADesignation: "",
        OverallRating: "Outstanding",
        OverallRatingNote: "",
        StateSATPArticipationPct: "57",
        SchoolInformation: {
            StudentPopulation: {
                NumberOfStudents: "421",
                ESLStudentsPct: "0.7"
            },
            Staffing: {
                SchoolAdministrators: "1.0",
                Teachers: "20.6",
                AvgYearsExperience: "16.7",
                MastersDegreeOrHigherPct: "46.1",
                TeachersWithEmergencyCredentialsPct: "--",
                ClassesByTeachersHQTPct: "100.0",
                ClassesByTeachersNotHQT: "0.0",
                EducationalAssistants: "0.0",
                OtherStaff: "6.7"
            },
            ClassSize: {
                SchoolFewerThan20Students: "0",
                SchoolFewerThan20StudentsPct: "0",
                StateFewerThan20StudentsPct: "11.6",
                School20to25Students: "11",
                School20to25StudentsPct: "61.",
                State20to25StudentsPct: "38.3",
                School26to30Students: "5",
                School26to30StudentsPct: "27.",
                State26to30StudentsPct: "38.7",
                SchoolMoreThan30Students: "2",
                SchoolMoreThan30StudentsPct: "11.",
                StateMoreThan30StudentsPct: "11.4"
            },
            Attendance: {
                AttendancePctPrevYear: "95.2",
                DistrictAttendancePctPrevYear: "94.6",
                StateAttendancePctPrevYear: "94.7",
                AttendancePctCurrYear: "95.5",
                DistrictAttendancePctCurrYear: "94.9",
                StateAttendancePctCurrYear: "94.9"
            },
            Expulsions: {
                Expulsions: "0",
                StateExpulsions: "218"
            },
            TestingParticipation: {
                TestingParticipationPct: "100.0",
                StateTestingParticipationPct: "99.1"
            },
            CohortGraduationRate: {
                AllCohort4YrGradRateCurrYear: "--",
                StCohort4YrGradRateCurrYear: "66.4",
                AllCohort5YrGradRatePrevYear: "--",
                StCohort5yrGradRatePrevYear: "70.9",
                AllCohort4YrGradRatePrevYear: "--",
                StCohort4YrGradRatePrevYear: "67.6"
            },
            Dropouts: {
                DropoutStudentsCurrYear: "0",
                DropoutStudentsPctCurrYear: "0",
                DistrictDropoutStudentsPctCurrYear: "--",
                StateDropoutStudentsPctPrevYear: "3.4",
                DropoutStudentsPrevYear: "0",
                DropoutStudentsPrevYearPct: "0.0",
                DistrictDropoutStudentsPctPrevYear: "--",
                StateDropoutPctPrevYear: "3.3"
            }
        },
        Performance: {
            SATScores: {
                SATVerbalScoreAvg: "--",
                StateSATVerbalScoreAvg: "521",
                NationalSATVerbalScoreAvg: "496",
                SATMathScoreAvg: "--",
                StateSATMathScoreAvg: "523",
                NationalSATMathScoreAvg: "514",
                SATWrittenScoreAvg: "--",
                StateSATWrittenScoreAvg: "498",
                NationalSATWrittenScoreAvg: "488",
                SATParticipationPct: "--",
                SATParticipation: "--",
                StateSATParticipation: "18813"
            },
            AchievementData: {
                ReadStudExceedMeetAllGradePctCurrYear: "94.7",
                ReadStudExceedMeetAllGradePctPrevYear: "> 95.0",
                ReadCompSchoolAllGradePct: "94.2",
                DistReadStudExceedMeetAllGradePctPrevYear: "87.4",
                ReadGradesPerfStatePctPrevYear: "76.3",
                MathStudExceedMeetAllGradePctCurrYear: "73.0",
                MathStudExceedMeetAllGradePctPrevYearOldStandards: "84",
                MathStudExceedMeetAllGradePctPrevYear: "88.9",
                MathCompSchoolAllGradePct: "81.7",
                DistMathStudExceedMeetAllGradePctPrevYear: "69.1",
                MathGradesPerfStatePctPrevYear: "64.3",
                WriteStudExceedMeetAllGradePctCurrYear: "77.2",
                WriteStudExceedMeetAllGradePctPrevYear: "--",
                WriteCompSchoolAllGradePct: "< 5.0",
                DistWriteStudExceedMeetAllGradePctPrevYear: "< 5.0",
                WriteGradesPerfStatePctPrevYear: "< 5.0",
                ScienceStudExceedMeetAllGradePctCurrYear: "87.7",
                ScienceStudExceedMeetAllGradePctPrevYear: "91.8",
                ScienceCompSchoolAllGradePct: "87.3",
                DistScienceStudExceedMeetAllGradePctPrevYear: "73.0",
                ScienceGradesPerfStatePctPrevYear: "70.2"
            }
        }
    }
}
Resource Description
GET /schools/near/:longlat Returns a list of schools within a specified radius of the long & lat provided.
Parameters Description
distance
optional
Number (in miles): Allows you to expand the search radius beyond the default (1 mile).

Example: distance=5
category
optional
Number: Allows you to filter results by school type. Acceptable values are: E (Elementary), M (Middle School), HSG (High School).

Example: category=M

Example request:

GET http://api.civicapps.org/schools/near/-122.538929,45.55215

{
    status: "ok",
    results: [
        {
            SchoolID: "3991",
            SchoolName: "Emerson School",
            PhoneNumber: "503-525-6124",
            SchoolType: "E",
            Url: "www.emersonschool.org/home.htm",
            StreetAddress1: "105 NW Park",
            Zip: "97209",
            Latitude: "45.5238310",
            Longitude: "-122.6791480",
            distance: "0.333887315430937"
        },
        {
            SchoolID: "914",
            SchoolName: "Lincoln High School",
            PhoneNumber: "503-916-5200",
            SchoolType: "HSG",
            Url: "www.pps.k12.or.us/schools/lincoln",
            StreetAddress1: "1600 SW Salmon St",
            Zip: "97205",
            Latitude: "45.5196400",
            Longitude: "-122.6893430",
            distance: "0.502700237679218"
        },
        {
            SchoolID: "916",
            SchoolName: "Metropolitan Learning Center",
            PhoneNumber: "503-916-5737",
            SchoolType: "HSG",
            Url: "www.pps.k12.or.us/schools/mlc",
            StreetAddress1: "2033 NW Glisan St",
            Zip: "97209",
            Latitude: "45.5263430",
            Longitude: "-122.6930280",
            distance: "0.847726284509308"
        },
        
        [ ... ]
    ]
}