Skip to main content

Overview

Returns performance metrics, exam results, and statistical data for one or more schools. Useful for school comparison and analysis.

Query Parameters

ParameterTypeRequiredDescription
schoolIdsstringYesComma-separated list of school IDs
metricsstringNoComma-separated list of metrics to include (default: all)

Available Metrics

  • progress8 - Progress 8 score (secondary schools)
  • attainment8 - Attainment 8 score (secondary schools)
  • ebacc - EBacc entry and results
  • gcse - GCSE results
  • aLevel - A-Level results
  • ks2 - Key Stage 2 results (primary schools)
  • attendance - Attendance rates
  • absence - Absence rates

Response

{
  "data": [
    {
      "schoolId": "sch_abc123",
      "urn": "100000",
      "name": "Westminster Academy",
      "phase": "Secondary",
      "metrics": {
        "progress8": {
          "score": 0.45,
          "confidence": "high",
          "year": "2023",
          "national Average": 0.03
        },
        "attainment8": {
          "score": 52.3,
          "confidence": "high",
          "year": "2023",
          "nationalAverage": 46.5
        },
        "ebacc": {
          "entryRate": 0.42,
          "averagePointScore": 4.8,
          "grade5OrAbove": 0.38,
          "year": "2023"
        },
        "gcse": {
          "grade5OrAboveEnglishMaths": 0.68,
          "grade4OrAboveEnglishMaths": 0.82,
          "year": "2023"
        },
        "attendance": {
          "overall": 95.2,
          "persistentAbsence": 8.5,
          "authorisedAbsence": 3.1,
          "unauthorisedAbsence": 1.7,
          "year": "2022/2023"
        }
      }
    }
  ]
}

Progress 8

Progress 8 measures pupils’ progress from Key Stage 2 to Key Stage 4:
  • Above 0: Pupils made more progress than average
  • 0: Average progress
  • Below 0: Pupils made less progress than average

Attainment 8

Attainment 8 measures achievement across 8 subjects:
  • Below 40: Significantly below average
  • 40-46: Below average
  • 46-50: Average
  • 50-60: Above average
  • Above 60: Well above average

Example Requests

Single School Metrics

import { Vepler } from '@vepler/sdk';

const vepler = new Vepler({ apiKey: process.env.VEPLER_API_KEY });

const metrics = await vepler.schools.getMetrics({
  schoolIds: 'sch_abc123'
});

console.log(`Progress 8: ${metrics.data[0].metrics.progress8.score}`);

Compare Multiple Schools

const comparison = await vepler.schools.getMetrics({
  schoolIds: 'sch_abc123,sch_def456,sch_ghi789'
});

comparison.data.forEach(school => {
  console.log(`${school.name}: Progress 8 = ${school.metrics.progress8.score}`);
});

Specific Metrics Only

const gcseResults = await vepler.schools.getMetrics({
  schoolIds: 'sch_abc123',
  metrics: 'gcse,attendance'
});

School Comparison Tool

const compareSchools = async (schoolIds: string[]) => {
  const metrics = await vepler.schools.getMetrics({
    schoolIds: schoolIds.join(',')
  });

  return metrics.data.map(school => ({
    name: school.name,
    progress8: school.metrics.progress8?.score || 'N/A',
    attainment8: school.metrics.attainment8?.score || 'N/A',
    gcsePass: school.metrics.gcse?.grade5OrAboveEnglishMaths || 'N/A',
    attendance: school.metrics.attendance?.overall || 'N/A'
  }));
};

const comparison = await compareSchools([
  'sch_abc123',
  'sch_def456',
  'sch_ghi789'
]);

console.table(comparison);

Data Coverage

  • Secondary Schools: Full metrics including Progress 8, Attainment 8, GCSE, A-Level
  • Primary Schools: Key Stage 2 results, attendance
  • All-Through Schools: Both primary and secondary metrics
  • Special Schools: Adapted metrics where applicable

Data Freshness

Metrics are updated annually following publication of official results:
  • GCSE/A-Level: October/November
  • Key Stage 2: December
  • Attendance: February
The year field in each metric indicates the academic year of the data.