Rules API: הבירוקרטיה הישראלית כקוד
הנתונים שמאחורי המחשבונים של ניירת, פתוחים למכונה: מדרגות מס, נקודות זיכויסכום קבוע שמוריד לכם את מס ההכנסה.עוד במילון המונחים, שיעורי ביטוח לאומיהמוסד שמשלם קצבאות וגמלאות וגובה דמי ביטוח.עוד במילון המונחים, שכר מינימום, מע"מ ועוד, כל ערך עם תאריך תחילה ומקור רשמי. בלי הרשמה ובלי מידע אישי.
מה זה
מערך נתונים מאומת של כללים ישראליים, עם גרסה לכל תאריך: כל פרמטר (למשל tax.income.brackets.monthly או btl.employee.rates) שמור עם הערך שבתוקף מכל תאריך, היסטוריה, יחידה וקישור למקור הרשמי. מעליו: מחשבונים שמחזירים תוצאה, פירוט וכל פרמטר שהשתמשו בו, לוח ציות לעסק, מרשם טפסים ופיד שינויים.
אותם נוסחים בדיוק כמו המחשבונים באתר: בדיקת השוואה מריצה כל דוגמה מתועדת גם בדפדפן וגם ב-API ומוודאת שהתוצאה זהה.
זה לא ייעוץ משפטי או ייעוץ מס, ואנחנו לא גוף ממשלתי. התוצאה היא הערכה לפי הכללים הכלליים. הנוסח הרשמי והחישוב של הגוף המוסמך קובעים.
כתובות
| כתובת | מה מקבלים |
|---|---|
GET /api/v1/rules | רשימת הכתובות והמחשבונים |
GET /api/v1/rules/parameters?q=&prefix=&date= | חיפוש פרמטרים וערכם בתאריך |
GET /api/v1/rules/parameters/{id}?date=YYYY-MM-DD | ערך בתאריך, היסטוריה ומקורות |
GET /api/v1/rules/dataset | כל מערך הנתונים בקובץ אחד |
GET /api/v1/rules/calculate | רשימת המחשבונים עם סכמת הקלט |
POST /api/v1/rules/calculate/{calc} | הרצת מחשבון (JSON). GET לאותה כתובת מחזיר את הסכמה ודוגמה |
GET /api/v1/rules/deadlines?profile=murshe | מועדי דיווח ותשלום ל-12 חודשים (גם format=ics). vat_freq=monthly או bimonthly, adv=monthly, bimonthly או none. מה שלא נמסר מופיע ב-assumptions |
GET /api/v1/rules/forms/{id} | טופס: מהדורה נוכחית, קישורים רשמיים ומפת שדות (טופס 101כרטיס עובד: ממלאים כשמתחילים לעבוד ובתחילת כל שנה.עוד במילון המונחים) |
GET /api/v1/rules/changes | פיד שינויים, וגם changes.atom, changes.rss, changes.json |
GET /api/v1/rules/openapi.json | מפרט OpenAPI 3.1 מלא |
המחשבונים
| calc | מה מחשבים |
|---|---|
income-tax | מס הכנסה לפי מדרגות לשנים 2020 עד 2026, עם נקודות זיכוי ומס יסף |
net-salary | שכר נטו מברוטו, או ברוטו מנטו, לשנת 2026 |
credit-points | נקודות זיכוי לפי פרופיל: ילדים, שחרור, תואר, עלייה, מילואים |
national-insurance | ביטוח לאומי ובריאות: עובד, מעסיק ועצמאי |
severance | פיצויי פיטורים, סעיף 14ההפקדות החודשיות לפנסיה באות במקום פיצויי הפיטורים.עוד במילון המונחים ותקרת הפטור ממס |
unemployment | דמי אבטלה: סכום יומי, מספר ימים וסך הכול |
maternity | דמי לידה |
reserve-pay | תגמול מילואים, גם לכמה תקופות שירות |
work-injury | דמי פגיעה בעבודה |
recuperation | דמי הבראה במגזר הפרטי |
vacation-days | ימי חופשה שנתית |
notice-period | הודעה מוקדמת והיום האחרון לעבודה |
vat | הוספת מע"מ או הורדתו, לפי השיעור בכל תאריך מ-1976 |
purchase-tax | מס רכישה על דירה (יחידה, נוספת, עולה) |
car-benefit | שווי שימוש ברכב והשפעתו על הנטו |
rental-income-tax | מס על שכר דירה בשלושת המסלולים |
depreciation | לוח פחת לפי שיעורי התקנות |
employer-cost | עלות מעביד, או ברוטו לפי תקציב |
withholding | ניכוי במקור מתשלום לספק |
surtax | מס יסף, כולל 2% על הכנסה הונית |
דוגמאות
curl -s 'https://nayeret.ai/api/v1/rules/parameters/credit_points.value.monthly?date=2026-03-01'
curl -s -X POST https://nayeret.ai/api/v1/rules/calculate/net-salary \
-H 'content-type: application/json' \
-d '{"amount": 15000, "sex": "f", "pension_percent": 6}'
const r = await fetch('https://nayeret.ai/api/v1/rules/calculate/unemployment', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ wage: 8000, age: 35, dependants: 0 }),
}).then((x) => x.json());
console.log(r.outputs.daily, r.outputs.max_days, r.parameters.map((p) => p.id + '@' + p.effective));
curl -s 'https://nayeret.ai/api/v1/rules/deadlines?profile=patur&from=2026-11-01' curl -s 'https://nayeret.ai/api/v1/rules/changes?type=parameter&since=2026-01-01'
MCP
אותם נתונים בשרת ה-MCP של ניירת (https://nayeret.ai/mcp), בארבעה כלים של הכללים: search_parameters, get_parameter, calculate (בלי inputs הוא מחזיר את סכמת הקלט ודוגמה) ו-list_changes. לשרת יש עוד כלים (טפסים, מדריכים, מכתבים ועוד): הרשימה המלאה ב-tools/list ובדף המפתחים. התשובות קומפקטיות כברירת מחדל, ו-verbose: true מחזיר הכול.
מקורות ואימות
- כל ערך נבדק מול מקור רשמי (רשות המסים, הביטוח הלאומי, gov.il) או מול כל-זכות כמקור משני, וכתובת המקור שמורה ליד הערך.
- לכל ערך יש תאריך תחילה. כשתאריך התחילה המקורי לא ידוע, זה כתוב בשדה
effective_date_note. - לכל פרמטר יש תקופת כיסוי מאומתת (
coverage). ביקשתם תאריך לפניה או אחריה? גם בפרמטר וגם במחשבון מקבלים שגיאה 422 (date_out_of_coverage) ולא ניחוש. - ערך זמני (למשל תעריף הבראה שעוד לא פורסם) מסומן
provisional. - סוכנים יומיים בודקים את המקורות. כל שינוי נכנס לפיד השינויים עם תאריך התחילה, תאריך הזיהוי והמקור.
- חיפוש בלי התאמה, או נושא שלא מכוסה (למשל מיסוי קריפטו), מחזיר
not_covered: trueעם רשימת הנושאים המכוסים. אל תסיקו ערך מהתאמה קרובה. - מחשבון של זכאות (אבטלה, דמי לידה) מחזיר
eligible. כשאין זכאות הסכומים הם 0 והסיבה כתובה ב-ineligibility_reasons. - השינויים מוצגים גם בעברית פשוטה, עם הדפים שהושפעו ותאריכי התחולה הצפויים, בדף מה השתנה. שם יש גם קובץ יומן (.ics) של השינויים הצפויים.
פרטיות, מגבלות ומפתחות
- לא שומרים ולא רושמים שום דבר מהבקשה: לא את הקלט, לא את כתובת ה-IP ולא את המפתח. נספרת רק כמות הבקשות לכל כתובת.
- בלי מפתח: עד 60 בקשות בדקה לכל כתובת IP. התשובה כוללת
RateLimit-Limit,RateLimit-Remainingו-RateLimit-Reset. מעבר למגבלה מקבלים 429 עםRetry-After. - מפתח לפיילוט (כותרת
x-api-key) נותן מגבלה גבוהה יותר. בקשו מפתח בדף יצירת הקשר. התמחור ייקבע רק אחרי הפיילוט. - CORS פתוח: אפשר לקרוא מכל אתר, כולל POST למחשבונים. בלי עוגיות.
- גוף בקשה עד 16 KB, JSON בלבד. שדה לא מוכר או ערך מחוץ לטווח מחזירים 400 עם הסבר לכל שדה.
רישיון וייחוס
הנתונים הם עובדות עם מקורות. ההצעה היא לפרסם את מערך הנתונים ברישיון CC BY 4.0, וההחלטה עוד לא סופית. כשאתם מציגים מידע מכאן, ציינו "מקור: ניירת (nayeret.ai)" וקשרו למקור הרשמי שבשדה sources.
יש גם ייצוא בפורמט של חבילת מדינה של OpenFisca (קובצי YAML של פרמטרים עם ערכים לפי תאריך ומקורות), כך שגרסת "OpenFisca Israel" היא תרגום ולא כתיבה מחדש.
In English
The Nayeret Rules API is a read-only, stateless API over a verified, date-versioned dataset of Israeli rules: income tax brackets and credit points, National Insurance and health rates and ceilings, minimum wage, VAT, benefits, labour law and small-business rules. Every value has an effective date and an official source URL. On top of it: 20 calculators (the same formulas as the free calculators on the site, parity-tested on every documented worked example), a business compliance calendar, a forms registry and a change feed.
- Start at
GET /api/v1/rules(index) or the OpenAPI 3.1 spec at/api/v1/rules/openapi.json. Every calculator hasGET /api/v1/rules/calculate/{calc}(input schema + example) andPOST(run). - A calculation returns
outputs,breakdown,notesandparameters: every parameter used, with its effective date, value and sources. Amounts are in ILS with up to 4 decimals; round to the agora for display. - Dates:
date(YYYY-MM-DD, a real calendar date) sets the as-of date (default: today in Israel). A date before or after a parameter's verified coverage returns 422date_out_of_coverageon calculators and on/parameters/{id}alike, never a guess. - Searching:
GET /parameters?q=understands English and Hebrew (quotes and gershayim are ignored, so מע"מ = מעמ), common synonyms and a year ("minimum wage 2024"). No match or an out-of-scope topic (e.g. crypto) returnsnot_covered: truewithcovered_topics. - Eligibility: unemployment and maternity return
eligibleandineligibility_reasons; when not eligible the amounts are 0 (unemployment also givesamounts_if_eligible).net-salaryacceptschildren(birth years),parent_role,single_parentor a totalcredit_points. - Deadlines:
/deadlines?profile=patur|murshe|company&vat_freq=monthly|bimonthly&adv=monthly|bimonthly|none&employees=N. Anything not given is listed inassumptions(bi-monthly VAT is assumed by default). Items havetitle_en. - MCP:
search_parameters,get_parameter,calculate,list_changes(witheffective_from,offset) alongside the server's other tools (seetools/list). Results are compact; passverbose: truefor everything. - Errors are JSON:
{ "error": { "code", "message", "details" } }. 400 invalid input (per-field list), 404 unknown id (with suggestions), 413, 415, 422, 429. - Limits: anonymous 60 requests/minute per IP; pilot API keys (
x-api-key) get more. No billing yet. CORS open, no cookies. - Privacy: nothing about a request is stored or logged, only counts per endpoint.
- Change feed:
/api/v1/rules/changes(JSON, filterssince,effective_from,effective_to,type,target,include_backfill,include_notices,offset), plus Atom, RSS and JSON Feed. Entries markedbackfillare history that was in the dataset when the feed started; theirdetected_onis the effective date.kind: noticemarks entries that only say a verified period ends. - Not legal or tax advice. Not a government service. Proposed data licence: CC BY 4.0 (pending approval). Please attribute "Source: Nayeret (nayeret.ai)" and link the official source.