Edu APIplan.pwsz.legnica.edu.pl ↗
Access faculty listings, study group schedules, and teacher timetables from Collegium Witelona university via 4 structured JSON endpoints.
What is the Edu API?
This API exposes 4 endpoints covering the full academic schedule data from Collegium Witelona (PWSZ Legnica), including faculty listings, study group timetables, and individual teacher schedules. The list_faculties endpoint returns every faculty with its specialization codes, which feed directly into get_group_schedule to retrieve semester-long class timetables with day, date, time, subject, teacher, and room fields for each subgroup.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/7f754be7-5991-453a-a241-283b338d6fd5/list_faculties' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace plan-pwsz-legnica-edu-pl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Collegium Witelona Schedule SDK — browse faculties, fetch schedules."""
from parse_apis.Collegium_Witelona_Schedule_API import CollegiumWitelona, Specialization, NotFoundError
client = CollegiumWitelona()
# List all faculties and their specializations
for faculty in client.faculties.list(limit=3):
print(faculty.faculty_name, f"({len(faculty.specializations)} groups)")
for spec in faculty.specializations[:2]:
print(f" {spec.name} [{spec.code}]")
# Fetch the semester schedule for a specific specialization (constructible by code)
spec = client.specialization(code="s1INF")
for entry in spec.schedule(limit=5):
print(entry.date, entry.time_start, entry.subject, entry.teacher, entry.room)
# List teachers and drill into one teacher's schedule
teacher = client.teachers.list(limit=1).first()
if teacher:
print(teacher.name, teacher.faculty_name)
try:
sched = teacher.schedule()
print(sched.teacher_name, f"has {len(sched.entries)} entries")
for e in sched.entries[:3]:
print(f" {e.date} {e.time_start}-{e.time_end}: {e.details}")
except NotFoundError as exc:
print(f"Teacher schedule not found: {exc}")
print("exercised: faculties.list / specialization.schedule / teachers.list / teacher.schedule")
Lists all faculties and their study groups (specializations) with codes. Each specialization code can be used to fetch the group's semester schedule.
No input parameters required.
{
"type": "object",
"fields": {
"faculties": "array of faculty objects with faculty_id, faculty_name, and specializations list"
},
"sample": {
"data": {
"faculties": [
{
"faculty_id": "7",
"faculty_name": "Wydział Nauk o Zdrowiu i Kulturze Fizycznej",
"specializations": [
{
"code": "s1D",
"name": "Dietetyka 1- studia stacjonarne (s1D)"
}
]
}
]
},
"status": "success"
}
}About the Edu API
Faculty and Group Discovery
The list_faculties endpoint takes no inputs and returns a flat array of faculty objects. Each object includes faculty_id, faculty_name, and a specializations list containing the codes (e.g. s1INF, s2DK) you need to query group schedules. This is the entry point for navigating the university's academic structure.
Study Group Schedules
Pass a specialization code from list_faculties to get_group_schedule to retrieve all scheduled sessions for that study group across the full semester. Each entry in the entries array includes day, date, time_start, time_end, group (subgroup name), subject, teacher, and room. The response also returns the full list of groups (subgroups) within the specialization, useful for filtering entries by subgroup.
Teacher Listings and Schedules
list_teachers returns every instructor across all faculties with name, teacher_id, faculty_id, and faculty_name. Hand a teacher_id to get_teacher_schedule to get that instructor's semester timetable. Each entry includes date, time_start, time_end, and a details field covering groups, room, and subject type. The faculty_id parameter is optional but can narrow results when known.
Data Scope
All four endpoints cover current semester data for Collegium Witelona. Coverage is specific to this institution — schedules reflect the university's own timetabling system. There is no historical archive endpoint and no real-time room availability status beyond what appears in scheduled sessions.
The Edu API is a managed, monitored endpoint for plan.pwsz.legnica.edu.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when plan.pwsz.legnica.edu.pl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official plan.pwsz.legnica.edu.pl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a student-facing timetable app that displays weekly class schedules using get_group_schedule entries filtered by subgroup
- Generate a calendar export (iCal/CSV) for a study group's full semester using date, time_start, and time_end fields
- Display a teacher's availability by pulling their schedule via get_teacher_schedule and checking empty time slots
- Index all faculty and specializations from list_faculties to power a course discovery or program search tool
- Cross-reference teacher assignments across departments by combining list_teachers with get_teacher_schedule data
- Build a room utilization report by aggregating the room field across all schedule entries for a given day
- Notify students of schedule changes by polling get_group_schedule and diffing entries against a stored baseline
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.