Your listings site, your CRM, your spreadsheet: each can ask the same question Majarrah answers for buyers. Is this price right for this district? The answer comes back as data you can store, sort and show.
What it does
What the API returns, how you authenticate, what it costs, and how an AI assistant can work your pipeline.
POST /v1/decisions
"verdict": "match"
180 m² apartment, Al-Narjis
breakdown.price79breakdown.location90breakdown.size97breakdown.details65benchmark5,120 registered sales, 2023-2025
reasoning: true
reasoning
Priced about 3% under the Al-Narjis median and inside the district's middle band of sales. The size suits a three-bedroom apartment in one of Riyadh's most traded districts. Details score lowest: parking and finish are not stated.
key_factorsrisk_flagsIllustrative text. 3 decisions per call with reasoning.
API keys
API Keys
Use these keys to authenticate requests to the Majarrah Decision API.
Production
sk-demo••••••••••••••••••••07aa
Last used: 2 hours ago
Keys authenticate requests to https://api.majarrah.io/v1
API decisions
500
decisions left
POST /v1/decisions reasoning: false-1POST /v1/decisions reasoning: true-3POST /v1/decisions reasoning: false-1POST /v1/decisions reasoning: false-1100
decisions
49
500
decisions
199
2,000
decisions
699
MCP server
Your AI assistant
api.majarrah.io/mcpWhich inquiries haven't I answered yet?
Two are open: Faisal Al-Otaibi on the Al-Malqa villa, and Sara Al-Qahtani on the Al-Narjis apartment.
Move Nora Al-Rashid to Visit.
Done. Nora Al-Rashid is now in Visit.
Inside one call
The same engine that scores listings for buyers on Majarrah, behind a Bearer key.
Key and fields checked
401 / 422A valid Bearer key; property type, price, area and location present.
District resolved
districtBy Arabic or English name, or by city and district IDs from /v1/locations.
Ministry of Justice benchmark
benchmarkMedian, P25 and P75 per m² from registered sale transactions.
Score and verdict
scorePrice 30%, location 20%, size 20%, details 30%. 70 or more is a match.
AI reasoning (optional)
reasoningArabic and English rationale, key factors and risk flags. If it fails, you still get the score.
Decisions deducted
credits1 decision for scoring, 3 with reasoning. Decisions left come back in the response.
How it works
The API lives in your workspace settings.
Pick 100, 500 or 2,000 decisions and pay by card.
Name it and copy it while it is shown.
POST it to /v1/decisions and read the verdict.
In detail
GET /v1/locations matches cities and districts in Arabic or English and returns their IDs, up to 20 results.
Add districts=true to get a city with every district under it.
401 invalid_api_key, 422 validation_error with the field name, 402 insufficient_decisions with the balance.
Decisions are deducted in one database step, so two calls never spend the same decision.
Each decision call stamps the key's last-used time in your settings.
District names in either language, reasoning in both.
Every member can see the masked keys; owners and admins manage them and buy decision packs.
Keys are meant for your backend; the settings screen warns against client-side code.
Every object carries an object field: decision, list, city or district.
Why it matters
Questions
For brokers who build
Create your broker account, top up API decisions and send your first property to /v1/decisions.