# AX Check: muwaqqit.com
Checked 2026-09-19.

Muwaqqit has no docs an agent can find or read
No Markdown homepage and a missing llms.txt file mean agents can't locate a quickstart, install steps, or API reference on their own.

## End-to-end onboarding not demonstrated

## Coding sessions
All three independent sessions (DeepSeek V4 Pro, Kimi K3, Qwen 3.8 Max) completed and each concluded the product is free, pointing to the absence of any API key, billing page, or published pricing tiers, while noting caveats like undocumented rate limits and no SLA.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/01e7574b-280c-4fc6-90cf-946c4587e369) · [Read transcript](https://www.ax-check.com/muwaqqit.com/sessions/deepseek.json)
Final output states the product is free with explicit basis: no API key/billing found, AlAdhan self-describes as a 'Free REST API', and flags the assumption of 'undocumented rate limits' as the only caveat.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No credentials of any kind were obtained or used. The muwaqqit SDK and its underlying AlAdhan API required no API key or authentication at all — the agent confirmed this directly by reading the source code and testing the endpoint with a plain curl request that succeeded with no auth headers. Since there was no login/credential step to complete, this doesn't meet the bar for verified self-service onboarding (which requires obtaining and using real credentials), nor is it login_required since nothing blocked on missing credentials.
  Event 34:

  ```text
  {"code":200,"status":"OK","data":{"timings":{"Fajr":"05:14","Sunrise":"06:42"
  ```
  Event 50:

  ```text
  1) Today's prayer times (London):
     Fajr: 05:08  Sunrise: 06:42  Dhuhr: 12:54  Asr: 16:18  Maghrib: 19:06  Isha: 20:40
  ```
  Event 73:

  ```text
  No API key, no tokens, no billing surfaced anywhere. The SDK sends plain GET requests with no auth.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
None identified in this transcript.

#### Suggested Changes
- **Add pricing/rate-limit documentation to the AlAdhan API site**: The agent searched aladhan.com/prayer-times-api for pricing terms and only found generic 'Free REST API' marketing copy with no dedicated pricing page, tier breakdown, or documented rate limits. Add a clear pricing/limits page (or section) at that URL so integrators do not have to infer cost and quota behavior from silence. Verify by having a new user find rate-limit and cost information without grepping the raw HTML.
  Event 56:

  ```text
  172821 aladhan.html
       35 key
       12 Free
        2 free
        2 Key
  ```
  Event 73:

  ```text
  I found **no pricing page or paid tier** — so effectively this is free, keyless usage.
  ```
- **Fix getRange() to use the API's native range endpoint**: In muwaqqit's src/api.ts, fetchPrayerCalendarRange loops and issues one HTTP call per day instead of calling AlAdhan's native calendar/range endpoint once. Update the implementation to batch the request, and verify by confirming getRange() over a multi-week span issues a single network call instead of N calls.
  Event 22:

  ```text
  let current = new Date(startDate);
    while (current <= endDate) {
      const timings = await fetchPrayerTimes(opts, current);
  ```
  Event 73:

  ```text
  `getRange()` naively loops one API call **per day** rather than using the API's native range endpoint.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/20517c26-8c6d-43b4-b7d4-2799e6f23eb0) · [Read transcript](https://www.ax-check.com/muwaqqit.com/sessions/kimi.json)
README.md 'Pricing' section and final summary state the product is free and name the underlying basis: CC-BY attribution requirement, donation-supported model, deprecated/rate-limited API v1, no SLA — assumptions behind the $0 figure.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No authentication of any kind occurred or was needed. Muwaqqit's hosted API is fully public with no API key, signup, or credential step in the documented workflow. The agent made plain unauthenticated GET requests to the hosted JSON API and got real data back, but this does not meet the bar for onboarding verification since there was no credential acquisition or authenticated operation to demonstrate.
  Event 87:

  ```text
  The REST API gives developers the ability to use Muwaqqit ṣalāh times and astronomical data in their own applications.
  ```
  Event 43:

  ```text
  {"list": [{"esha_angle": -19.0, "sunset_date": "2024-01-01", "sunset_time": "16:02:06"
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Rate limiting (HTTP 429) on the public API**: Repeated calls to the hosted API triggered 429 Too Many Requests from the shared sandbox IP. This is product behavior (an aggressive, documented rate limit on the deprecated v1 API), not an agent error or missing credential. The agent worked around it with sleep/retry and caching, so it was not an unresolved blocker.
  Event 17:

  ```text
  429 TOO MANY REQUESTS
  ```
  Event 26:

  ```text
  429 TOO MANY REQUESTS
  ```
  Event 87:

  ```text
  API v1 is depreciated, and rate limited.
  ```

#### Suggested Changes
- **Add a pricing/cost statement to the main site or docs landing page**: The agent had to grep raw HTML and scan script.js sidebar links to conclude the product is free and donation-supported; there is no explicit pricing page. Add a short 'Pricing' or 'Cost' section to https://docs.muwaqqit.com/ (e.g. on the Introduction page) stating plainly that the API is free, CC-BY licensed, and donation-supported. Verify by checking that a new visitor can find pricing info without grepping raw HTML.
  Event 58:

  ```text
  supported
  
  ```
  Event 87:

  ```text
  Data is licensed under a Creative Commons Attribution License. This allows derivative use on the condition of appropriate attribution and linking back to Muwaqqit.
  ```
- **Fix or clarify the documented api.muwaqqit.com endpoint**: The docs at https://docs.muwaqqit.com/api-v1 list https://api.muwaqqit.com/api.json as the endpoint, but calling it returns a 303 redirect to www.muwaqqit.com/api.json. Update the docs to point directly at the working www.muwaqqit.com host, or configure api.muwaqqit.com to serve the API directly without a redirect. Verify by curling the documented URL and confirming a 200 with JSON instead of a redirect.
  Event 87:

  ```text
  Data can be requested in JSON, XML or CSV using the appropriate endpoint: https://api.muwaqqit.com/api.json, https://api.muwaqqit.com/api.xml or https://api.muwaqqit.com/api.csv.
  ```
  Event 93:

  ```text
  303
  You are being redirected <a href="https://www.muwaqqit.com/api.json?d=2024-01-15&ln=-0.1278&lt=51.5074&tz=Europe%2FLondon">here</a>
  ```
- **Document the rate limit threshold for the deprecated v1 API**: The docs mention the API is rate limited but give no concrete numbers (requests/min) or guidance on backoff strategy, forcing the agent to empirically discover 429s and guess at wait times. Add specific rate-limit figures and recommended retry/backoff guidance to the api-v1 page at docs.muwaqqit.com. Verify by confirming a developer can plan request cadence without trial-and-error.
  Event 87:

  ```text
  <note type="warning">API v1 is depreciated, and rate limited.</note>
  ```
  Event 17:

  ```text
  429 TOO MANY REQUESTS
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/59f67502-a76e-4637-9d1e-d71571882063) · [Read transcript](https://www.ax-check.com/muwaqqit.com/sessions/qwen.json)
Final summary states cost is free and grounds it in the underlying basis — public API, no key/account, no published tiers — plus the caveat of no SLA or rate-limit guarantees (seq 49).
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: There is no product account, API key, or backend service to onboard to. muwaqqit is an open-source npm client wrapping the free, keyless Aladhan public API. The agent ran npm install and executed a local script that made outbound calls, but never obtained or used any product-issued credentials, and there was no authenticated operation against a product-owned backend (the underlying Aladhan API needs no auth at all). This falls outside the scope of a self-service onboarding check.
  Event 30:

  ```text
  Prayer times in Cairo today:
  ```
  Event 49:

  ```text
  The library is open source, and the Aladhan API it calls is a free public API with no API key, no account, and no published pricing tiers.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Package's main entry point has a broken export (agent workaround, not a session limitation)**: Destructuring convertToHijri from the top-level 'muwaqqit' import failed at runtime because the package's index only exports PrayerTimes due to a circular-dependency bug in the published library. This is a defect in the third-party npm package itself, not the product/API, the test environment, or agent error. The agent diagnosed it quickly and worked around it by importing from the submodule path, so it did not block the session.
  Event 30:

  ```text
  Error: convertToHijri is not a function
  ```
  Event 40:

  ```text
  The index has a circular-dependency bug where only `PrayerTimes` actually resolves at runtime. Importing helpers from the submodule works:
  ```

#### Suggested Changes
- **Fix the circular-import bug in muwaqqit's main index export**: In the published npm package (dist/index.js), the top-level export only resolves PrayerTimes at runtime; convertToHijri, fetchPrayerTimes, fetchPrayerCalendar, and other helpers exported from dist/api.js are not reachable via require('muwaqqit'). Fix the circular dependency so all documented exports work from the package root, then verify with node -e "console.log(Object.keys(require('muwaqqit')))" and confirm it lists all six exported functions/classes rather than just PrayerTimes.
  Event 30:

  ```text
  Error: convertToHijri is not a function
  ```
  Event 38:

  ```text
  [ 'PrayerTimes' ]
  ```

### Task given to each agent
Help me build a simple example using muwaqqit. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: F · 0/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  /llms.txt returned HTTP 404, so no documentation index exists.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  No llms.txt body was returned (404), so navigation guidance cannot be judged.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  No llms.txt body was returned (404); offered API, MCP or skills cannot be assessed.
  ```

- **Skipped** — A compact guide representation exists

  ```text
  No compact guide or Markdown representation was fetched; only homepage and a 404 llms.txt.
  ```

- **Skipped** — A focused guide is directly retrievable

  ```text
  No focused guide page was fetched; only the homepage and a missing llms.txt.
  ```

- **Skipped** — Equivalent instructions fit a token budget

  ```text
  No guide content was fetched, so token budget cannot be measured.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown is unsupported, so link preservation across formats is unassessed.
  ```

- **Skipped** — The compact guide is independently actionable

  ```text
  No compact guide or agent-specific workflow page was fetched for muwaqqit.
  ```

- **Skipped** — Install and next-step links resolve

  ```text
  No install or next-step links were sampled; only homepage and llms.txt fetched.
  ```


### Onboarding
- **Skipped** — Docs lead to a relevant quickstart

  ```text
  Only fetched document is a 404 llms.txt; no docs or quickstart content available.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or setup pages were fetched; insufficient evidence to judge.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  No documentation or code example pages were fetched for muwaqqit.
  ```

- **Skipped** — Prerequisites and auth boundaries are explicit

  ```text
  No docs fetched; prerequisites and auth boundaries cannot be assessed.
  ```


### Pricing
- **Skipped** — Pricing is readable without interaction

  ```text
  Not applicable: the relevant product is free. No pricing page was fetched; muwaqqit appears to be a free astronomical tool with no paid plans.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  Not applicable: the relevant product is free. No pricing page was fetched; muwaqqit appears to be a free astronomical tool with no paid plans.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  Not applicable: the relevant product is free. No pricing page was fetched; muwaqqit appears to be a free astronomical tool with no paid plans.
  ```

- **Skipped** — Agents identify pricing and its assumptions

  ```text
  Not applicable: the relevant product is free. No pricing page was fetched; muwaqqit appears to be a free astronomical tool with no paid plans.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec was fetched; only a 404 llms.txt exists.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation was fetched for muwaqqit.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documentation was fetched for muwaqqit.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK package registry lookup was fetched for muwaqqit.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills documentation was fetched for muwaqqit.
  ```



[Full report data](https://www.ax-check.com/muwaqqit.com/report.json)
