# İmsakiyem

> Prayer times as the Turkish Directorate of Religious Affairs (Diyanet İşleri Başkanlığı) publishes them, for about nine hundred districts across Turkey and Northern Cyprus and for Turkish communities abroad. These are the printed-imsakiye times the local mosques call to rather than a calculation, so a reminder built on them agrees with the neighbourhood. Get a day's six times - İmsak, Güneş, Öğle, İkindi, Akşam and Yatsı - named in Turkish and English and stamped with a time zone so a reminder can be scheduled straight off them; get the next prayer and the minutes until it; pull a week, a month or a whole year in one step; and get the Ramadan imsakiye itself, with sahur, iftar and the length of every fast. Places are found by name as well as by id, with Turkish letters matched for you so 'corlu' finds ÇORLU, and the country-city-district hierarchy is walked for you rather than left as three lookup steps. Paged answers are stitched back together, so a year comes back whole. No account or API key required.

App · Calendars · 9 actions. Web page: https://docs.lodol.com/docs/integrations/imsakiyem

## Actions

### Find a place

Search Diyanet's directory by name and get back the district id the other steps need. The step to put in front of them when all a workflow has is a place name out of a form field. Turkish letters and accents are matched for you - 'corlu' finds ÇORLU and 'basaksehir' finds BAŞAKŞEHİR - which the service's own search does not do. A single match comes back with its city and country named, so you can see it is the right one; several matches come back as a list rather than a guess. No API key required.

**Inputs**

- Name (`query`, text, required): The place to search for. Part of a name is enough: 'kahraman' finds KAHRAMANMARAŞ.
- Kind of place (`place_type`, text): Which level of the directory to search. Districts are what prayer times are keyed on. One of: `district` (District (ilçe)), `city` (City (il)), `country`, `any` (Any of the three). Default: `district`.
- Within country (`country`, text): Narrow the search to one country, by name or id. Leave empty to search them all.

**Outputs**

- `best_match` (object)
- `district_id` (text)
- `match_count` (number)
- `place_type` (text)
- `places` (list)
- `query` (text)
- `searched_within` (text)
- `truncated` (true/false)

**Example output**

```json
{
  "best_match": {
    "english_name": "\u0130STANBUL",
    "id": "9541",
    "label": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL",
    "name": "\u0130STANBUL",
    "type": "district"
  },
  "district_id": "9541",
  "match_count": 1,
  "place_type": "district",
  "places": [
    {
      "city": "\u0130STANBUL",
      "city_id": "539",
      "country": "T\u00dcRK\u0130YE",
      "country_id": "2",
      "english_name": "\u0130STANBUL",
      "id": "9541",
      "label": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL",
      "name": "\u0130STANBUL",
      "type": "district"
    }
  ],
  "query": "istanbul",
  "searched_within": null,
  "truncated": false
}
```

### Get place details

Look up one country, city or district by its id, with the levels above it named. The step to put in front of a condition when an id arrived from outside the workflow and ought to be checked before a timetable is read from it. No API key required.

**Inputs**

- Place id (`place_id`, text, required): The id to look up, as it came from 'Find a place' or one of the listing steps.
- Kind of place (`place_type`, text): Which level of the directory the id belongs to. One of: `district` (District (ilçe)), `city` (City (il)), `country`. Default: `district`.

**Outputs**

- `place` (object)
- `place_type` (text)

**Example output**

```json
{
  "place": {
    "city": "\u0130STANBUL",
    "city_id": "539",
    "country": "T\u00dcRK\u0130YE",
    "country_id": "2",
    "english_name": "\u0130STANBUL",
    "id": "9541",
    "label": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL",
    "name": "\u0130STANBUL",
    "type": "district"
  },
  "place_type": "district"
}
```

### Get prayer times

Get a day's prayer times for a Turkish district as the Directorate of Religious Affairs publishes them - the times the local mosques actually call to. All six come back: İmsak (Fajr), Güneş (sunrise), Öğle (Dhuhr), İkindi (Asr), Akşam (Maghrib, which is iftar) and Yatsı (Isha), each named in Turkish and English, each as a clock time and as a full timestamp a reminder can be scheduled from. The day's Hijri date and the length of its fast come with them. Name the place by district, or leave it on İstanbul; leave the date empty for today. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.
- City (`city`, text): The city (il), by name or by id - İSTANBUL, KONYA, 539. Defaults to İstanbul. Turkish letters and accents are matched for you, so 'istanbul' finds İSTANBUL. Default: `539`.
- District (`district`, text): The district (ilçe), by name or by id. This is what the timetable is keyed on: times differ by a few minutes between districts of the same city. Defaults to İSTANBUL, the district covering the city itself. A district id makes the step skip the two lookups above it, so it is the fastest thing to pass in from an earlier step. Default: `9541`.
- Date (`on_date`, date): The day to read, as YYYY-MM-DD. Leave empty for today in the time zone below.
- Time zone (`timezone`, text): The zone to read these times in, as an IANA name. Diyanet publishes clock times with no zone attached, so this is what turns them into moments a reminder can be scheduled from, and what 'today' and 'now' mean. Leave it on Europe/Istanbul unless the district is somewhere else - Europe/Berlin for the German ones, for instance. Default: `Europe/Istanbul`.

**Outputs**

- `date` (text)
- `fast_length` (text)
- `fast_length_minutes` (number)
- `hijri_date` (object)
- `is_today` (true/false)
- `location` (object)
- `prayer_times` (list)
- `requested_date` (text)
- `source` (text)
- `times` (object)
- `times_iso8601` (object)
- `timezone` (text)
- `weekday` (text)

**Example output**

```json
{
  "date": "2026-02-20",
  "fast_length": "12 hours 45 minutes",
  "fast_length_minutes": 765,
  "hijri_date": {
    "day": 2,
    "full_date": "2 Ramazan 1447",
    "month": 9,
    "month_name": "Ramazan",
    "month_name_en": "Ramadan",
    "year": 1447
  },
  "is_today": true,
  "location": {
    "city": "\u0130STANBUL",
    "city_id": "539",
    "country": "T\u00dcRK\u0130YE",
    "country_id": "2",
    "district": "\u0130STANBUL",
    "district_english": "\u0130STANBUL",
    "district_id": "9541",
    "place": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL"
  },
  "prayer_times": [
    {
      "datetime": "2026-02-20T05:35:00+03:00",
      "english_name": "Fajr",
      "is_prayer": true,
      "key": "imsak",
      "name": "\u0130msak",
      "time": "05:35"
    },
    {
      "datetime": "2026-02-20T07:05:00+03:00",
      "english_name": "Sunrise",
      "is_prayer": false,
      "key": "gunes",
      "name": "G\u00fcne\u015f",
      "time": "07:05"
    },
    {
      "datetime": "2026-02-20T13:20:00+03:00",
      "english_name": "Dhuhr",
      "is_prayer": true,
      "key": "ogle",
      "name": "\u00d6\u011fle",
      "time": "13:20"
    },
    {
      "datetime": "2026-02-20T16:15:00+03:00",
      "english_name": "Asr",
      "is_prayer": true,
      "key": "ikindi",
      "name": "\u0130kindi",
      "time": "16:15"
    },
    {
      "datetime": "2026-02-20T18:20:00+03:00",
      "english_name": "Maghrib",
      "is_prayer": true,
      "key": "aksam",
      "name": "Ak\u015fam",
      "time": "18:20"
    },
    {
      "datetime": "2026-02-20T19:43:00+03:00",
      "english_name": "Isha",
      "is_prayer": true,
      "key": "yatsi",
      "name": "Yats\u0131",
      "time": "19:43"
    }
  ],
  "requested_date": "2026-02-20",
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131",
  "times": {
    "aksam": "18:20",
    "gunes": "07:05",
    "ikindi": "16:15",
    "imsak": "05:35",
    "ogle": "13:20",
    "yatsi": "19:43"
  },
  "times_iso8601": {
    "aksam": "2026-02-20T18:20:00+03:00",
    "gunes": "2026-02-20T07:05:00+03:00",
    "ikindi": "2026-02-20T16:15:00+03:00",
    "imsak": "2026-02-20T05:35:00+03:00",
    "ogle": "2026-02-20T13:20:00+03:00",
    "yatsi": "2026-02-20T19:43:00+03:00"
  },
  "timezone": "Europe/Istanbul",
  "weekday": "Friday"
}
```

### Get prayer times over a period

Get a stretch of the timetable - a week, a month, a year, or exactly the days between two dates - for a calendar, a digest or a loop. Note that 'monthly' and 'yearly' are the service's own periods and mean the whole calendar month or year the start date falls in, so a month from the 16th answers from the 1st; use 'range' for exactly the days you name. Every result reports the span it actually covers. Answers longer than a page are followed and stitched together, so a year comes back whole rather than as its first hundred days. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.
- City (`city`, text): The city (il), by name or by id - İSTANBUL, KONYA, 539. Defaults to İstanbul. Turkish letters and accents are matched for you, so 'istanbul' finds İSTANBUL. Default: `539`.
- District (`district`, text): The district (ilçe), by name or by id. This is what the timetable is keyed on: times differ by a few minutes between districts of the same city. Defaults to İSTANBUL, the district covering the city itself. A district id makes the step skip the two lookups above it, so it is the fastest thing to pass in from an earlier step. Default: `9541`.
- Period (`period`, text): How much of the timetable to read, anchored on the start date. One of: `daily` (That day only), `weekly` (That week), `monthly` (That whole calendar month), `yearly` (That whole calendar year), `range` (Exactly the days between the two dates). Default: `monthly`.
- Start date (`start_date`, date): The day the period is anchored on, as YYYY-MM-DD. Leave empty for today.
- End date (`end_date`, date): The last day to read, as YYYY-MM-DD. Used only when the period is 'Exactly the days between the two dates', and required for it.
- Time zone (`timezone`, text): The zone to read these times in, as an IANA name. Diyanet publishes clock times with no zone attached, so this is what turns them into moments a reminder can be scheduled from, and what 'today' and 'now' mean. Leave it on Europe/Istanbul unless the district is somewhere else - Europe/Berlin for the German ones, for instance. Default: `Europe/Istanbul`.

**Outputs**

- `covered_from` (text)
- `covered_to` (text)
- `covers_requested_range` (true/false)
- `day_count` (number)
- `days` (list)
- `location` (object)
- `period` (text)
- `requested_end_date` (text)
- `requested_start_date` (text)
- `source` (text)
- `timezone` (text)
- `truncated` (true/false)
- `truncated_note` (text)

**Example output**

```json
{
  "covered_from": "2026-02-01",
  "covered_to": "2026-02-28",
  "covers_requested_range": true,
  "day_count": 28,
  "days": [
    {
      "date": "2026-02-20",
      "fast_length": "12 hours 45 minutes",
      "fast_length_minutes": 765,
      "hijri_date": {
        "day": 2,
        "full_date": "2 Ramazan 1447",
        "month": 9,
        "month_name": "Ramazan",
        "month_name_en": "Ramadan",
        "year": 1447
      },
      "prayer_times": [
        {
          "datetime": "2026-02-20T05:35:00+03:00",
          "english_name": "Fajr",
          "is_prayer": true,
          "key": "imsak",
          "name": "\u0130msak",
          "time": "05:35"
        },
        {
          "datetime": "2026-02-20T07:05:00+03:00",
          "english_name": "Sunrise",
          "is_prayer": false,
          "key": "gunes",
          "name": "G\u00fcne\u015f",
          "time": "07:05"
        },
        {
          "datetime": "2026-02-20T13:20:00+03:00",
          "english_name": "Dhuhr",
          "is_prayer": true,
          "key": "ogle",
          "name": "\u00d6\u011fle",
          "time": "13:20"
        },
        {
          "datetime": "2026-02-20T16:15:00+03:00",
          "english_name": "Asr",
          "is_prayer": true,
          "key": "ikindi",
          "name": "\u0130kindi",
          "time": "16:15"
        },
        {
          "datetime": "2026-02-20T18:20:00+03:00",
          "english_name": "Maghrib",
          "is_prayer": true,
          "key": "aksam",
          "name": "Ak\u015fam",
          "time": "18:20"
        },
        {
          "datetime": "2026-02-20T19:43:00+03:00",
          "english_name": "Isha",
          "is_prayer": true,
          "key": "yatsi",
          "name": "Yats\u0131",
          "time": "19:43"
        }
      ],
      "times": {
        "aksam": "18:20",
        "gunes": "07:05",
        "ikindi": "16:15",
        "imsak": "05:35",
        "ogle": "13:20",
        "yatsi": "19:43"
      },
      "times_iso8601": {
        "aksam": "2026-02-20T18:20:00+03:00",
        "gunes": "2026-02-20T07:05:00+03:00",
        "ikindi": "2026-02-20T16:15:00+03:00",
        "imsak": "2026-02-20T05:35:00+03:00",
        "ogle": "2026-02-20T13:20:00+03:00",
        "yatsi": "2026-02-20T19:43:00+03:00"
      },
      "weekday": "Friday"
    }
  ],
  "location": {
    "city": "\u0130STANBUL",
    "city_id": "539",
    "country": "T\u00dcRK\u0130YE",
    "country_id": "2",
    "district": "\u0130STANBUL",
    "district_english": "\u0130STANBUL",
    "district_id": "9541",
    "place": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL"
  },
  "period": "monthly",
  "requested_end_date": null,
  "requested_start_date": "2026-02-20",
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131",
  "timezone": "Europe/Istanbul",
  "truncated": false
}
```

### Get the next prayer

Get the next prayer due at a place and how long there is until it - the step a reminder is built on: 'Akşam in 20 minutes'. Sunrise is skipped, because it is published alongside the prayers but is not one, and after Yatsı the answer rolls over to tomorrow's İmsak rather than running out at midnight. Today's full timetable comes back with it. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.
- City (`city`, text): The city (il), by name or by id - İSTANBUL, KONYA, 539. Defaults to İstanbul. Turkish letters and accents are matched for you, so 'istanbul' finds İSTANBUL. Default: `539`.
- District (`district`, text): The district (ilçe), by name or by id. This is what the timetable is keyed on: times differ by a few minutes between districts of the same city. Defaults to İSTANBUL, the district covering the city itself. A district id makes the step skip the two lookups above it, so it is the fastest thing to pass in from an earlier step. Default: `9541`.
- Time zone (`timezone`, text): The zone to read these times in, as an IANA name. Diyanet publishes clock times with no zone attached, so this is what turns them into moments a reminder can be scheduled from, and what 'today' and 'now' mean. Leave it on Europe/Istanbul unless the district is somewhere else - Europe/Berlin for the German ones, for instance. Default: `Europe/Istanbul`.

**Outputs**

- `current_time` (text)
- `location` (object)
- `minutes_until` (number)
- `next_prayer` (object)
- `source` (text)
- `time_until` (text)
- `timezone` (text)
- `today` (object)

**Example output**

```json
{
  "current_time": "2026-02-20T17:38:00+03:00",
  "location": {
    "city": "\u0130STANBUL",
    "city_id": "539",
    "country": "T\u00dcRK\u0130YE",
    "country_id": "2",
    "district": "\u0130STANBUL",
    "district_english": "\u0130STANBUL",
    "district_id": "9541",
    "place": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL"
  },
  "minutes_until": 42,
  "next_prayer": {
    "date": "2026-02-20",
    "datetime": "2026-02-20T18:20:00+03:00",
    "english_name": "Maghrib",
    "is_tomorrow": false,
    "key": "aksam",
    "name": "Ak\u015fam",
    "time": "18:20"
  },
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131",
  "time_until": "42 minutes",
  "timezone": "Europe/Istanbul",
  "today": {
    "date": "2026-02-20",
    "fast_length": "12 hours 45 minutes",
    "fast_length_minutes": 765,
    "hijri_date": {
      "day": 2,
      "full_date": "2 Ramazan 1447",
      "month": 9,
      "month_name": "Ramazan",
      "month_name_en": "Ramadan",
      "year": 1447
    },
    "prayer_times": [
      {
        "datetime": "2026-02-20T05:35:00+03:00",
        "english_name": "Fajr",
        "is_prayer": true,
        "key": "imsak",
        "name": "\u0130msak",
        "time": "05:35"
      },
      {
        "datetime": "2026-02-20T07:05:00+03:00",
        "english_name": "Sunrise",
        "is_prayer": false,
        "key": "gunes",
        "name": "G\u00fcne\u015f",
        "time": "07:05"
      },
      {
        "datetime": "2026-02-20T13:20:00+03:00",
        "english_name": "Dhuhr",
        "is_prayer": true,
        "key": "ogle",
        "name": "\u00d6\u011fle",
        "time": "13:20"
      },
      {
        "datetime": "2026-02-20T16:15:00+03:00",
        "english_name": "Asr",
        "is_prayer": true,
        "key": "ikindi",
        "name": "\u0130kindi",
        "time": "16:15"
      },
      {
        "datetime": "2026-02-20T18:20:00+03:00",
        "english_name": "Maghrib",
        "is_prayer": true,
        "key": "aksam",
        "name": "Ak\u015fam",
        "time": "18:20"
      },
      {
        "datetime": "2026-02-20T19:43:00+03:00",
        "english_name": "Isha",
        "is_prayer": true,
        "key": "yatsi",
        "name": "Yats\u0131",
        "time": "19:43"
      }
    ],
    "times": {
      "aksam": "18:20",
      "gunes": "07:05",
      "ikindi": "16:15",
      "imsak": "05:35",
      "ogle": "13:20",
      "yatsi": "19:43"
    },
    "times_iso8601": {
      "aksam": "2026-02-20T18:20:00+03:00",
      "gunes": "2026-02-20T07:05:00+03:00",
      "ikindi": "2026-02-20T16:15:00+03:00",
      "imsak": "2026-02-20T05:35:00+03:00",
      "ogle": "2026-02-20T13:20:00+03:00",
      "yatsi": "2026-02-20T19:43:00+03:00"
    },
    "weekday": "Friday"
  }
}
```

### Get the Ramadan timetable

Get the imsakiye: every fast of Ramadan for one district, with its sahur (İmsak) and iftar (Akşam) times, the length of each fast, and which day of Ramadan it is. Ramadan is a Hijri month, so it is found by reading the Hijri date on each day rather than by calendar arithmetic - and when it straddles New Year, as it will at the end of this decade, the neighbouring year is fetched so the timetable comes back whole. The longest and shortest fasts of the month come with it. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.
- City (`city`, text): The city (il), by name or by id - İSTANBUL, KONYA, 539. Defaults to İstanbul. Turkish letters and accents are matched for you, so 'istanbul' finds İSTANBUL. Default: `539`.
- District (`district`, text): The district (ilçe), by name or by id. This is what the timetable is keyed on: times differ by a few minutes between districts of the same city. Defaults to İSTANBUL, the district covering the city itself. A district id makes the step skip the two lookups above it, so it is the fastest thing to pass in from an earlier step. Default: `9541`.
- Year (`year`, text): The Gregorian year whose Ramadan to read, as four digits. Leave empty for this year.
- Time zone (`timezone`, text): The zone to read these times in, as an IANA name. Diyanet publishes clock times with no zone attached, so this is what turns them into moments a reminder can be scheduled from, and what 'today' and 'now' mean. Leave it on Europe/Istanbul unless the district is somewhere else - Europe/Berlin for the German ones, for instance. Default: `Europe/Istanbul`.

**Outputs**

- `day_count` (number)
- `days` (list)
- `ends_on` (text)
- `gregorian_year` (number)
- `hijri_year` (number)
- `location` (object)
- `longest_fast` (object)
- `note` (text)
- `shortest_fast` (object)
- `source` (text)
- `spans_new_year` (true/false)
- `starts_on` (text)
- `timezone` (text)

**Example output**

```json
{
  "day_count": 30,
  "days": [
    {
      "date": "2026-02-20",
      "day_of_ramadan": 2,
      "fast_length": "12 hours 45 minutes",
      "fast_length_minutes": 765,
      "hijri_date": {
        "day": 2,
        "full_date": "2 Ramazan 1447",
        "month": 9,
        "month_name": "Ramazan",
        "month_name_en": "Ramadan",
        "year": 1447
      },
      "iftar": "18:20",
      "iftar_datetime": "2026-02-20T18:20:00+03:00",
      "sahur": "05:35",
      "sahur_datetime": "2026-02-20T05:35:00+03:00",
      "times": {
        "aksam": "18:20",
        "gunes": "07:05",
        "ikindi": "16:15",
        "imsak": "05:35",
        "ogle": "13:20",
        "yatsi": "19:43"
      },
      "weekday": "Friday"
    }
  ],
  "ends_on": "2026-03-20",
  "gregorian_year": 2026,
  "hijri_year": 1447,
  "location": {
    "city": "\u0130STANBUL",
    "city_id": "539",
    "country": "T\u00dcRK\u0130YE",
    "country_id": "2",
    "district": "\u0130STANBUL",
    "district_english": "\u0130STANBUL",
    "district_id": "9541",
    "place": "T\u00dcRK\u0130YE / \u0130STANBUL / \u0130STANBUL"
  },
  "longest_fast": {
    "date": "2026-02-20",
    "day_of_ramadan": 2,
    "fast_length": "12 hours 45 minutes",
    "fast_length_minutes": 765,
    "hijri_date": {
      "day": 2,
      "full_date": "2 Ramazan 1447",
      "month": 9,
      "month_name": "Ramazan",
      "month_name_en": "Ramadan",
      "year": 1447
    },
    "iftar": "18:20",
    "iftar_datetime": "2026-02-20T18:20:00+03:00",
    "sahur": "05:35",
    "sahur_datetime": "2026-02-20T05:35:00+03:00",
    "times": {
      "aksam": "18:20",
      "gunes": "07:05",
      "ikindi": "16:15",
      "imsak": "05:35",
      "ogle": "13:20",
      "yatsi": "19:43"
    },
    "weekday": "Friday"
  },
  "shortest_fast": {
    "date": "2026-02-20",
    "day_of_ramadan": 2,
    "fast_length": "12 hours 45 minutes",
    "fast_length_minutes": 765,
    "hijri_date": {
      "day": 2,
      "full_date": "2 Ramazan 1447",
      "month": 9,
      "month_name": "Ramazan",
      "month_name_en": "Ramadan",
      "year": 1447
    },
    "iftar": "18:20",
    "iftar_datetime": "2026-02-20T18:20:00+03:00",
    "sahur": "05:35",
    "sahur_datetime": "2026-02-20T05:35:00+03:00",
    "times": {
      "aksam": "18:20",
      "gunes": "07:05",
      "ikindi": "16:15",
      "imsak": "05:35",
      "ogle": "13:20",
      "yatsi": "19:43"
    },
    "weekday": "Friday"
  },
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131",
  "spans_new_year": false,
  "starts_on": "2026-02-19",
  "timezone": "Europe/Istanbul"
}
```

### List cities

List the cities (iller) in one country, with the id each one is known by. Turkey has eighty-one. Name the country or give its id; leave it empty for Türkiye. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.

**Outputs**

- `cities` (list)
- `count` (number)
- `country` (object)
- `source` (text)

**Example output**

```json
{
  "cities": [
    {
      "country_id": "2",
      "english_name": "\u0130STANBUL",
      "id": "539",
      "name": "\u0130STANBUL",
      "type": "city"
    },
    {
      "country_id": "2",
      "english_name": "ANKARA",
      "id": "506",
      "name": "ANKARA",
      "type": "city"
    }
  ],
  "count": 81,
  "country": {
    "english_name": "T\u00dcRK\u0130YE",
    "id": "2",
    "name": "T\u00dcRK\u0130YE",
    "type": "country"
  },
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131"
}
```

### List countries

List every country Diyanet publishes a timetable for, with the id each one is known by. The top of the directory: countries hold cities, cities hold districts, and a district is what prayer times are asked for. No API key required.

**Inputs**: None.

**Outputs**

- `count` (number)
- `countries` (list)
- `source` (text)

**Example output**

```json
{
  "count": 2,
  "countries": [
    {
      "english_name": "T\u00dcRK\u0130YE",
      "id": "2",
      "name": "T\u00dcRK\u0130YE",
      "type": "country"
    },
    {
      "english_name": "KUZEY KIBRIS",
      "id": "1",
      "name": "KUZEY KIBRIS",
      "type": "country"
    }
  ],
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131"
}
```

### List districts

List the districts (ilçeler) in one city, with the id each one is known by - the level prayer times are keyed on, and the list to loop over to build a timetable for a whole province. Times differ by a few minutes between districts of the same city, which is why the timetable is published at this level. No API key required.

**Inputs**

- Country (`country`, text): The country, by name or by id. Diyanet publishes for Turkey and for cities in many other countries. Defaults to Türkiye. Default: `2`.
- City (`city`, text): The city (il), by name or by id - İSTANBUL, KONYA, 539. Defaults to İstanbul. Turkish letters and accents are matched for you, so 'istanbul' finds İSTANBUL. Default: `539`.

**Outputs**

- `city` (object)
- `count` (number)
- `country` (object)
- `districts` (list)
- `source` (text)

**Example output**

```json
{
  "city": {
    "country_id": "2",
    "english_name": "\u0130STANBUL",
    "id": "539",
    "name": "\u0130STANBUL",
    "type": "city"
  },
  "count": 19,
  "districts": [
    {
      "city_id": "539",
      "country_id": "2",
      "english_name": "\u0130STANBUL",
      "id": "9541",
      "name": "\u0130STANBUL",
      "type": "district"
    },
    {
      "city_id": "539",
      "country_id": "2",
      "english_name": "SULTANBEYL\u0130",
      "id": "9549",
      "name": "SULTANBEYL\u0130",
      "type": "district"
    }
  ],
  "source": "T.C. Diyanet \u0130\u015fleri Ba\u015fkanl\u0131\u011f\u0131"
}
```
