{"name":"Siraat Open Data API","description":"Free, public, read-only access to anonymised Salah (prayer) analytics from the Siraat community. All personal identity is removed. Each person is represented by a stable, non-reversible anonymous id so that granular, per-person analysis is possible without anyone being identifiable.","version":"1.0","license":"Free to use for research, analysis, visualisation and building other platforms. Please attribute \"Siraat (siraat.org)\".","privacy":{"identifiers_removed":["name","email","phone","auth provider ids","avatar"],"location":"Row-level records include country, city and approximate coordinates (rounded to ~1 km) so the data can be projected on a map. Exact GPS is never exposed.","aggregate_k_anonymity":"In the aggregated /by-country endpoint, countries with fewer than 5 people are grouped as \"Other\".","anonymous_ids":"Stable salted one-way hash per person (prefix \"sr_\"); cannot be reversed."},"endpoints":[{"path":"/api/public/stats","method":"GET","description":"Headline totals and community-wide averages."},{"path":"/api/public/by-prayer","method":"GET","description":"Averages and rates broken down by prayer (Fajr, Dhuhr, ...)."},{"path":"/api/public/by-country","method":"GET","description":"Aggregated metrics per country (k-anonymised)."},{"path":"/api/public/quality-trends","method":"GET","description":"Average Salah Quality Score over time.","query":{"period":"daily | weekly | monthly (default: weekly)"}},{"path":"/api/public/records","method":"GET","description":"Row-level, de-identified data: one row per logged prayer.","query":{"limit":"rows per page (default 1 000 000 — returns all records)","offset":"rows to skip (default 0)","prayer":"filter by prayer name, e.g. Fajr","country":"filter by country name, e.g. Ghana","from":"ISO date lower bound (YYYY-MM-DD)","to":"ISO date upper bound (YYYY-MM-DD)","format":"json (default) | csv"}}],"record_schema":{"anon_user_id":"string — stable anonymous person id (prefix sr_)","prayer_name":"string — Fajr, Dhuhr, Asr, Maghrib, Isha, Witr, Jumuah, Tahajjud","prayer_date":"string (YYYY-MM-DD) — the calendar date the prayer belongs to","expected_prayer_time":"string (HH:MM:SS, UTC) — the scheduled/expected time of day for this prayer. For prayers with no fixed time (e.g. Witr, Tahajjud) this equals actual_prayer_time.","actual_prayer_time":"string (HH:MM:SS, UTC) — the time of day the prayer was actually performed","quality_score":"number 1-10 — the Salah Quality Score (acceptance score)","quality_percent":"number 0-100 — quality_score expressed as a percentage","grade":"string A-F","khushu":"number 1-10 — focus/presence of heart","wudu":"number 1-10 — quality of ablution","niyyah_clarity":"number 1-10 — clarity of intention","confidence_level":"number 1-10","tadabbur":"number 1-10 — reflection on meaning","ruku_quality":"number 1-10","sujud_quality":"number 1-10","duration_minutes":"number | null","prayer_streak":"number — consecutive-prayer streak at time of logging","prayed_in_jamaah":"1 or 0","prayed_on_time":"1 or 0","is_qada":"1 or 0 — made up (late) prayer","is_qasr":"1 or 0 — shortened (travel) prayer","had_khushu_focus":"1 or 0","understood_recitation":"1 or 0","gaze_controlled":"1 or 0","rush_through":"1 or 0","mind_wandered":"1 or 0","interruption":"1 or 0","mistake":"1 or 0","reflection":"1 or 0","dua":"1 or 0","dhikr":"1 or 0","decent_dress":"1 or 0","performed_istinja":"1 or 0","prayed_behind_imam":"1 or 0","rawatib_before":"number — sunnah units before","rawatib_after":"number — sunnah units after","country":"string — country (or Unknown)","city":"string | null — city","latitude":"number | null — latitude, rounded to ~1 km for map projection","longitude":"number | null — longitude, rounded to ~1 km for map projection"},"documentation_page":"/open-data"}