# Prayer Times, Islamic Calendar & Qibla Scraper (Global) (`scrapers_lat/prayer-times-islamic-calendar-scraper`) Actor

Daily Muslim prayer times (adhan) for any city or coordinates: Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha plus Imsak and thirds, full Hijri date with Arabic month and Islamic holidays, Qibla direction and next-prayer countdown. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/prayer-times-islamic-calendar-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.56 / 1,000 prayer times results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![Prayer Times, Islamic Calendar & Qibla Scraper (Global)](https://scrapers.lat/banners/prayer-times-islamic-calendar-scraper.png)](https://console.apify.com/actors/wGUqBOmVWIf2bg8q4/input)

## Prayer Times, Islamic Calendar & Qibla Scraper (Global)

Here is one real result, with every field the actor returns:

```json
{
  "input": "Mecca, Saudi Arabia",
  "resolvedLocation": "Mecca",
  "country": "Saudi Arabia",
  "admin1": "Mecca Region",
  "latitude": 21.42664,
  "longitude": 39.82563,
  "timezone": "Asia/Riyadh",
  "gregorianDate": "2026-08-23",
  "gregorianWeekday": "Sunday",
  "gregorianReadable": "23 August 2026",
  "hijriDate": "10-03-1448",
  "hijriDay": 10,
  "hijriMonthNumber": 3,
  "hijriMonthEn": "Rabīʿ al-awwal",
  "hijriMonthAr": "رَبيع الأوّل",
  "hijriYear": 1448,
  "hijriWeekdayEn": "Al Ahad",
  "hijriWeekdayAr": "الاحد",
  "hijriHolidays": [],
  "method": 2,
  "methodName": "Islamic Society of North America (ISNA)",
  "school": 0,
  "schoolName": "Shafi, Maliki, Hanbali (Standard)",
  "latitudeAdjustmentMethod": "ANGLE_BASED",
  "imsak": "04:48",
  "fajr": "04:58",
  "sunrise": "06:02",
  "dhuhr": "12:23",
  "asr": "15:47",
  "sunset": "18:45",
  "maghrib": "18:45",
  "isha": "19:48",
  "midnight": "00:23",
  "firstthird": "22:30",
  "lastthird": "02:16",
  "nextPrayer": "Asr",
  "nextPrayerTime": "15:47",
  "minutesUntilNextPrayer": 19,
  "qiblaDirection": 173.1,
  "monthlyCalendarDays": null,
  "monthlyCalendar": null,
  "aiSuhoorTip": null,
  "aiIftarTip": null,
  "aiHydrationTip": null,
  "aiFastingSummary": null,
  "source": "Aladhan Prayer Times",
  "observedAt": "2026-08-23T12:28:39.691Z",
  "error": null
}
```

The most complete Muslim prayer times scraper available. It returns every daily prayer time for any city or coordinates (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha, plus Imsak, Midnight and the night thirds), the full Hijri date with Arabic month name and Islamic holidays, the Qibla compass bearing to the Kaaba, and a live next-prayer countdown, all in one call, with optional full monthly timetable and AI Ramadan fasting tips.

**📥 [Input](https://apify.com/scrapers_lat/prayer-times-islamic-calendar-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/prayer-times-islamic-calendar-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/prayer-times-islamic-calendar-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/prayer-times-islamic-calendar-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### Table of contents

- [What it does](#what-it-does)
- [Use cases](#use-cases)
- [How we compare](#how-we-compare)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)

### What it does

Give it a list of locations and a date. For each location the actor resolves the place to coordinates (you can pass a city name like `Istanbul, Turkey` or a `latitude,longitude` pair), computes the daily prayer schedule for the date you choose, and writes one clean record per location.

Each record carries the full timetable (Imsak, Fajr, Sunrise, Dhuhr, Asr, Sunset, Maghrib, Isha, Midnight, and the first and last thirds of the night), the matching Hijri (Islamic) date with the Arabic and English month names and any Islamic holidays that fall on that day, the Qibla direction as a compass bearing in degrees to the Kaaba in Mecca, and a computed next-prayer name with the minutes remaining until it (relative to the run time in the location's own timezone). You choose the calculation method (23 named options such as ISNA, Umm al-Qura, Diyanet, JAKIM, Kemenag) and the juristic school for Asr (Standard or Hanafi).

Two optional add-ons extend each record: a full month prayer timetable for the location, and AI-written Ramadan fasting tips derived from the day's Fajr and Maghrib times.

### Use cases

- Power a Muslim prayer times and adhan app with a single daily API call per city.
- Build a mobile or web salah reminder that shows the next prayer and a live countdown.
- Print or display a monthly Ramadan and prayer timetable (Suhoor and Iftar) for a mosque or community.
- Add an accurate Qibla direction (compass bearing to the Kaaba) to a mosque finder or travel app.
- Convert Gregorian dates to the Hijri (Islamic) calendar and surface Islamic holidays and holy days.
- Compare prayer times across cities and calculation methods (ISNA, Umm al-Qura, Muslim World League, Diyanet, JAKIM, Kemenag and more).
- Feed prayer times, Iftar and Suhoor times into a smart-home, digital-signage, or notification workflow.

### How we compare

| Capability | This actor | AlAdhan raw API | RapidAPI prayer-times APIs | MuslimSalat API |
|---|---|---|---|---|
| All data in one call | Yes | No (separate endpoints) | Partial | Partial |
| City name geocoding | Yes | Partial | Partial | Yes |
| Imsak, Midnight, night thirds | Yes | Yes | Rarely | No |
| Full Hijri date + Arabic month | Yes | Yes | Rarely | No |
| Islamic holidays in the record | Yes | Separate endpoint | No | No |
| Qibla direction (degrees) | Yes | Separate endpoint | Sometimes | Daily only |
| Next-prayer name + minutes countdown | Yes | No | No | No |
| Optional full monthly calendar | Yes | Separate endpoint | Ramadan only | Separate endpoint |
| AI Ramadan fasting tips | Yes | No | No | No |
| Pricing | Flat pay per result | Free, multi-call | Monthly tiers | Credit based |

#### Why choose this

- **Everything in one call.** Times, Hijri date, holidays, Qibla and the next-prayer countdown come back together, so your app makes one request per city instead of four or five.
- **Next-prayer countdown built in.** The actor computes the next prayer and the minutes remaining against the location's own timezone. Competitors return raw times and leave the math to you.
- **City names, not just coordinates.** Pass `Jakarta, Indonesia` or `Istanbul` and the actor geocodes it for you.
- **Full Hijri calendar and holidays.** Arabic and English month names, the Hijri weekday, and any Islamic holidays on the date, in the same record.
- **Qibla for every location.** A compass bearing in degrees to the Kaaba, no extra call.
- **Optional monthly timetable and AI fasting tips.** Add a whole-month schedule or AI Suhoor, Iftar and hydration guidance when you need them, billed only when returned.
- **Predictable pricing.** Flat pay per result, no monthly tiers or opaque credit systems, and you are never charged for a location that fails to resolve.

### Quickstart

Open the actor, paste this into the input, and press Run. It returns today's prayer times, Hijri date and Qibla for three cities.

```json
{
  "locations": ["Mecca, Saudi Arabia", "Istanbul, Turkey", "Jakarta, Indonesia"],
  "method": "2",
  "school": "0"
}
```

Leave `date` empty to use today. Add `"includeMonthlyCalendar": true` for the full month timetable, or `"aiRamadanFastingTips": true` for AI fasting guidance (both are paid add-ons on paid Apify plans).

### Input reference

| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| `locations` | array of strings | no | (none) | One or more locations. Each item is a place name like `Mecca, Saudi Arabia` or `Istanbul` (auto-geocoded), or a `latitude,longitude` pair like `21.4225,39.8262`. One record is returned per location. |
| `date` | string | no | today | The date to compute prayer times for, in `YYYY-MM-DD`. Applies to every location in the run. |
| `method` | enum string | no | `2` (ISNA) | Calculation method id. One of 23 named methods, for example `2` ISNA, `3` Muslim World League, `4` Umm al-Qura Makkah, `13` Diyanet Turkey, `17` JAKIM Malaysia, `20` Kemenag Indonesia. |
| `school` | enum string | no | `0` | Juristic school for the Asr time. `0` Standard (Shafi, Maliki, Hanbali) or `1` Hanafi (later Asr). |
| `includeMonthlyCalendar` | boolean | no | `false` | Add-on. Add the full month prayer timetable for each location. Billed per location only when a real calendar is returned. Paid Apify plans only. |
| `aiRamadanFastingTips` | boolean | no | `false` | Add-on. Add AI-written Suhoor, Iftar and hydration tips plus a fasting-window summary. Billed per location only when usable tips are produced. Paid Apify plans only. |
| `maxResults` | integer | no | `10` | Maximum locations to return in one run. Free Apify plans are capped at 10. |

### Output reference

One dataset item per location. Types are `string`, `integer`, `number`, `boolean`, `array`, or `null` when a value is absent.

| Field | Type | Description |
|---|---|---|
| `input` | string | The location string you passed in. |
| `resolvedLocation` | string | Resolved place name from geocoding. |
| `country` | string | Country of the resolved location. |
| `admin1` | string | State or region of the resolved location. |
| `latitude` | number | Latitude used for the query. |
| `longitude` | number | Longitude used for the query. |
| `timezone` | string | IANA timezone of the location. |
| `gregorianDate` | string | Gregorian date (`YYYY-MM-DD`). |
| `gregorianWeekday` | string | Gregorian weekday name. |
| `gregorianReadable` | string | Human-readable Gregorian date. |
| `hijriDate` | string | Hijri (Islamic) date (`DD-MM-YYYY`). |
| `hijriDay` | integer | Day of the Hijri month. |
| `hijriMonthNumber` | integer | Hijri month number (1 to 12). |
| `hijriMonthEn` | string | Hijri month name in English. |
| `hijriMonthAr` | string | Hijri month name in Arabic. |
| `hijriYear` | integer | Hijri year. |
| `hijriWeekdayEn` | string | Hijri weekday name in English. |
| `hijriWeekdayAr` | string | Hijri weekday name in Arabic. |
| `hijriHolidays` | array | Islamic holidays on this Hijri date. Empty array when none. |
| `method` | integer | Calculation method id used. |
| `methodName` | string | Calculation method name. |
| `school` | integer | Juristic school for Asr (`0` standard, `1` Hanafi). |
| `schoolName` | string | Juristic school label. |
| `latitudeAdjustmentMethod` | string | High-latitude adjustment method used. |
| `imsak` | string | Imsak time (`HH:MM`, local). |
| `fajr` | string | Fajr prayer time (`HH:MM`, local). |
| `sunrise` | string | Sunrise time (`HH:MM`, local). |
| `dhuhr` | string | Dhuhr prayer time (`HH:MM`, local). |
| `asr` | string | Asr prayer time (`HH:MM`, local). |
| `sunset` | string | Sunset time (`HH:MM`, local). |
| `maghrib` | string | Maghrib prayer time (`HH:MM`, local). |
| `isha` | string | Isha prayer time (`HH:MM`, local). |
| `midnight` | string | Islamic midnight (`HH:MM`, local). |
| `firstthird` | string | First-third boundary of the night (`HH:MM`, local). |
| `lastthird` | string | Start of the last third of the night (`HH:MM`, local). |
| `nextPrayer` | string | Name of the next prayer relative to the run time. Null when the date is not today in the location timezone. |
| `nextPrayerTime` | string | Time of the next prayer (`HH:MM`, local). |
| `minutesUntilNextPrayer` | integer | Minutes from run time until the next prayer. |
| `qiblaDirection` | number | Compass bearing in degrees from the location to the Kaaba in Mecca. |
| `monthlyCalendarDays` | integer | Number of days in the monthly calendar add-on, or null. |
| `monthlyCalendar` | array | Full month prayer timetable per day (monthly calendar add-on), or null. |
| `aiSuhoorTip` | string | AI Suhoor (pre-dawn meal) tip (AI fasting tips add-on), or null. |
| `aiIftarTip` | string | AI Iftar (fast-breaking) tip (AI fasting tips add-on), or null. |
| `aiHydrationTip` | string | AI hydration tip (AI fasting tips add-on), or null. |
| `aiFastingSummary` | string | AI fasting-window summary (AI fasting tips add-on), or null. |
| `source` | string | Data source label. |
| `observedAt` | string | ISO 8601 timestamp of when the record was collected. |
| `error` | string | Null on success. On a location that fails to resolve, a single item with a populated `error` field is written instead, and it is not charged. |

### Example output record

Real record from a live run with both add-ons on (input `{"locations": ["Mecca, Saudi Arabia"], "includeMonthlyCalendar": true, "aiRamadanFastingTips": true}`). The `monthlyCalendar` array is trimmed here for length.

```json
{
  "input": "Mecca, Saudi Arabia",
  "resolvedLocation": "Mecca",
  "country": "Saudi Arabia",
  "admin1": "Mecca Region",
  "latitude": 21.42664,
  "longitude": 39.82563,
  "timezone": "Asia/Riyadh",
  "gregorianDate": "2026-08-23",
  "hijriDate": "10-03-1448",
  "hijriMonthEn": "Rabīʿ al-awwal",
  "hijriMonthAr": "رَبيع الأوّل",
  "hijriYear": 1448,
  "hijriHolidays": [],
  "method": 2,
  "methodName": "Islamic Society of North America (ISNA)",
  "schoolName": "Shafi, Maliki, Hanbali (Standard)",
  "imsak": "04:48",
  "fajr": "04:58",
  "sunrise": "06:02",
  "dhuhr": "12:23",
  "asr": "15:47",
  "maghrib": "18:45",
  "isha": "19:48",
  "midnight": "00:23",
  "firstthird": "22:30",
  "lastthird": "02:16",
  "nextPrayer": "Asr",
  "nextPrayerTime": "15:47",
  "minutesUntilNextPrayer": 19,
  "qiblaDirection": 173.1,
  "monthlyCalendarDays": 31,
  "monthlyCalendar": [
    { "gregorianDate": "2026-08-01", "weekday": "Saturday", "hijriDate": "18-02-1448", "hijriMonth": "Ṣafar", "fajr": "04:48", "sunrise": "05:54", "dhuhr": "12:27", "asr": "15:46", "maghrib": "19:00", "isha": "20:06" }
  ],
  "aiSuhoorTip": "Opt for a balanced meal with complex carbohydrates, protein, and healthy fats, such as oatmeal with nuts and yogurt, to sustain your energy throughout the day.",
  "aiIftarTip": "Start your Iftar with dates and water to gently rehydrate and replenish energy before enjoying a nutritious meal.",
  "aiHydrationTip": "Drink plenty of water and include hydrating foods like fruits and soups between Iftar and Suhoor to maintain hydration levels.",
  "aiFastingSummary": "The fasting window lasts approximately 13 hours and it's essential to focus on balanced nutrition and hydration.",
  "source": "Aladhan Prayer Times",
  "observedAt": "2026-08-23T12:28:39.691Z",
  "error": null
}
```

### Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace `<TOKEN>` with your Apify API token.

Run synchronously and get dataset items in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~prayer-times-islamic-calendar-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"locations":["Mecca, Saudi Arabia","Istanbul, Turkey"],"method":"2","school":"0"}'
```

Start a run asynchronously:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~prayer-times-islamic-calendar-scraper/runs?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"locations":["Jakarta, Indonesia"],"date":"2026-03-01","includeMonthlyCalendar":true}'
```

Apify CLI:

```bash
apify call scrapers_lat/prayer-times-islamic-calendar-scraper \
  --input '{"locations":["Cairo, Egypt"],"method":"5"}'
```

### Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing `format`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"

## Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
```

`<DATASET_ID>` is returned as `defaultDatasetId` in the run object. Use `offset` and `limit` to page through large result sets. `clean=true` drops empty and internal fields.

### Billing and limits

- **Pay per result.** You are charged per location record returned (`result` event). See the [pricing tab](https://apify.com/scrapers_lat/prayer-times-islamic-calendar-scraper/pricing) for the current per-result price.
- **A small one-time actor-start event** is charged once per run.
- **Add-ons are opt-in and billed only on success.** The `monthly_calendar` event is charged per location only when a real month timetable is returned. The `ai_fasting_tips` event is charged per location only when usable AI tips are produced. Both are available to paid Apify plans only.
- **No charge on failure.** If a location cannot be resolved or returns no data, the actor writes a single item with a populated `error` field and does not charge for it. Empty runs cost nothing.
- **Spend cap respected.** Set `maxTotalChargeUsd` on the run; once reached, the actor stops emitting and charging further billable results.
- **Free Apify plans** are capped at 10 locations per run, and paid add-ons are disabled for them. Upgrade for higher `maxResults` and add-ons.

### FAQ and troubleshooting

**A location came back with an error. Why?**
The place name could not be geocoded. Try a simpler name (just the city), add the country, or pass a `latitude,longitude` pair instead. Failed locations are not charged.

**Which calculation method should I use?**
Use the one your community follows. Common choices: ISNA (`2`) in North America, Muslim World League (`3`) in much of the world, Umm al-Qura (`4`) in Saudi Arabia, Diyanet (`13`) in Turkey, JAKIM (`17`) in Malaysia, Kemenag (`20`) in Indonesia.

**What is the difference between Standard and Hanafi school?**
The `school` setting only changes the Asr time. Hanafi (`1`) gives a later Asr than the Standard (`0`) opinion. All other times are identical.

**Why is `nextPrayer` null?**
The next-prayer countdown is only meaningful for the current day. When you request a past or future `date`, or a date that is not today in the location's timezone, `nextPrayer`, `nextPrayerTime` and `minutesUntilNextPrayer` are null.

**How accurate is the Qibla direction?**
`qiblaDirection` is the great-circle compass bearing in degrees (0 is north, 90 is east) from the location to the Kaaba in Mecca. Near Mecca itself the bearing is short-range and may look unusual, which is expected.

**Can I get a whole month at once?**
Yes. Set `includeMonthlyCalendar` to true and each record includes the full month timetable for its location in `monthlyCalendar`.

**Is this an official tool?**
No. This actor is independent and has no affiliation with any Islamic authority. It reads publicly available prayer-time calculations. Verify times against your local mosque where exact minute-level agreement matters.

### Related scrapers

- [Air Quality, AQI, Pollen & UV Scraper (Global)](https://apify.com/scrapers_lat/air-quality-aqi-pollen-scraper): live air quality and forecast for any city or coordinates.
- [Geocoding & Reverse Geocoding Scraper](https://apify.com/scrapers_lat/geocoding-nominatim): turn place names into coordinates and back.

### More scrapers at scrapers.lat

Built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> Independent tool, not affiliated with any Islamic authority. Provides publicly available prayer-time calculations. Verify against your local mosque where exact agreement matters.

# Actor input Schema

## `locations` (type: `array`):

One or more locations to fetch prayer times for. Each item can be a place name like "Mecca, Saudi Arabia" or "Istanbul" (auto-geocoded), OR a "latitude,longitude" pair like "21.4225,39.8262". One record is returned per location.

## `date` (type: `string`):

The date to compute prayer times for, in YYYY-MM-DD format. Leave empty to use today. Applies to every location in the run.

## `method` (type: `string`):

Prayer-time calculation method (angles for Fajr and Isha). Different regions and organizations use different methods.

## `school` (type: `string`):

Which juristic school to use for the Asr prayer time. Standard (Shafi, Maliki, Hanbali) or Hanafi (later Asr).

## `includeMonthlyCalendar` (type: `boolean`):

Add the full month prayer timetable for each location (every day of the requested month with Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha and the Hijri date). Opt-in add-on, billed per location only when a real calendar is returned. Available to paid Apify plans.

## `aiRamadanFastingTips` (type: `boolean`):

Add AI-written fasting guidance per location (Suhoor tip, Iftar tip, hydration tip and a fasting-window summary) derived from the day's Fajr and Maghrib times. Opt-in add-on, billed per location only when usable tips are produced. Available to paid Apify plans.

## `maxResults` (type: `integer`):

Maximum number of locations to return in one run. Free Apify plans are capped at 10.

## Actor input object example

```json
{
  "locations": [
    "Mecca, Saudi Arabia",
    "Istanbul, Turkey",
    "Jakarta, Indonesia"
  ],
  "method": "2",
  "school": "0",
  "includeMonthlyCalendar": false,
  "aiRamadanFastingTips": false,
  "maxResults": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "Mecca, Saudi Arabia",
        "Istanbul, Turkey",
        "Jakarta, Indonesia"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/prayer-times-islamic-calendar-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locations": [
        "Mecca, Saudi Arabia",
        "Istanbul, Turkey",
        "Jakarta, Indonesia",
    ],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/prayer-times-islamic-calendar-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "Mecca, Saudi Arabia",
    "Istanbul, Turkey",
    "Jakarta, Indonesia"
  ],
  "maxResults": 10
}' |
apify call scrapers_lat/prayer-times-islamic-calendar-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/prayer-times-islamic-calendar-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/wGUqBOmVWIf2bg8q4/builds/cBbwUAgggCrL9yB3u/openapi.json
