MUIS Datasets

A community project by msociety — free, open-source JSON datasets for Singapore's Islamic institutions

Open data you can use in your projects

click to collapse

Maintained by the msociety community, this project provides free, structured JSON datasets scraped from MUIS (Majlis Ugama Islam Singapura) and MUIS Halal — Singapore's Islamic Religious Council. The data is auto-updated daily and served as static JSON files you can fetch directly from GitHub — no API key required, no rate limits, no sign-up.

{}
Static JSON
Fetch directly via URL. Works with any language — JavaScript, Python, curl, mobile apps.
Always current
Auto-synced daily at 6 AM SGT via GitHub Actions. Only changed records are committed.
No restrictions
No API key, no rate limits, no CORS issues. Use it in client-side apps, servers, or scripts.

Fetch any dataset with a single URL:

# Mosque directory (with coordinates, contacts, features) https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/mosque-directory/data.json # 5,200+ certified asatizah (religious teachers) https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/ars-directory/data.json # 468 Islamic education centres https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/iecp-directory/data.json # 4,600+ halal-certified eating establishments https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/halal-directory/data.json
Mosques
--
Loading…
Certified Asatizah (ARS)
--
Loading…
Education Centres (IECP)
--
Loading…
Halal Establishments
--
Loading…
Loading data…

Integration Guide

Mosque Directory

Build with it: mosque finder apps, prayer time widgets, community maps, accessibility directories, navigation tools.

// JavaScript — fetch all mosques const res = await fetch( 'https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/mosque-directory/data.json' ); const { mosques } = await res.json(); console.log(mosques[0].name, mosques[0].coordinates);

Each mosque includes:

  • name — mosque name
  • address — full address
  • postal_code
  • district — N / S / E / W
  • phone & email
  • website
  • coordinates — lat/lng
  • features — e.g. barrier-free
  • description
  • logo_url

ARS Directory (Asatizah)

Build with it: teacher verification tools, search portals, community directories, analytics dashboards.

# Python — search for a teacher import requests data = requests.get( 'https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/ars-directory/data.json' ).json() matches = [a for a in data['asatizah'] if 'Ahmad' in a['name']]

Each entry includes:

  • title — Ustaz / Ustazah
  • name — full name
  • category — Tier 1 (Asatizah) or Tier 2 (Quranic Teacher)

IECP Directory

Build with it: education centre finders, enrolment portals, community resource listings.

# curl + jq — list first 5 centres curl -s https://raw.githubusercontent.com/\ msocietyhq/muis-datasets-unofficial/\ main/iecp-directory/data.json \ | jq '.iecps[:5][] | .name'

Each entry includes:

  • number — index
  • name — centre name

The meta.breakdown object gives counts by type: mosques, madrasahs, and other centres.

Halal Directory

Build with it: halal restaurant finders, food delivery integrations, neighbourhood dining guides, travel apps for Muslim visitors.

// JavaScript — find halal bakeries const res = await fetch( 'https://raw.githubusercontent.com/msocietyhq/muis-datasets-unofficial/main/halal-directory/data.json' ); const { establishments } = await res.json(); const bakeries = establishments.filter( e => e.sub_scheme?.name === 'Snack Bar / Bakery' );

Each establishment includes:

  • name — business name
  • address — full address
  • postal_code
  • certificate_number
  • coordinates — lat/lng
  • scheme — e.g. Eating Establishment
  • sub_scheme — e.g. Restaurant, Bakery
  • logo_url

Contributing

Ways to Help

Report Data Issues

Spotted incorrect or outdated info? Open an issue with details and we'll investigate.

Add Mosque Logos

Community-contributed logos live in mosque-directory/logos/. Submit a PR with a PNG named after the mosque slug.

Improve Scrapers

Scrapers are in plain Node.js with Cheerio. Fork the repo, make changes, and open a PR. See the README for setup.

Build Something

Use the JSON data to build apps, maps, bots, or analysis. Let us know what you've made!

Quick Start for Developers

git clone https://github.com/msocietyhq/muis-datasets-unofficial.git cd muis-datasets-unofficial pnpm install # Run a full scrape npm run scrape:mosques # Or run diff-aware updates (what CI uses) npm run update:all

Data auto-syncs daily at 6 AM SGT via GitHub Actions. Only changed records are committed. Scrapers use polite delays (300-500ms) and identify via User-Agent.