{"x402Version":2,"kind":"resource-server","name":"irantools","description":"Persian and Iranian utilities for AI agents, plus general text/Unicode tooling. Pay per call in USDC on Base via x402 or USDC on Tempo via MPP. No signup, no API key.","resources":[{"url":"https://irantools.johnaio281.workers.dev/api/iran/persian_normalize","method":"POST","description":"Normalize Persian text: unify Arabic/Kaf Yeh variants, remove tatweel and zero-width characters, fix spacing around ZWNJ. Use for any Persian text cleanup."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/persian_digits","method":"POST","description":"Convert digits between Persian/Arabic-Indic and ASCII. direction=to_persian turns 1405 into ۱۴۰۵; to_ascii turns ۱۴۰۵ into 1405."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/number_to_words_fa","method":"POST","description":"Spell a number out in Persian words, e.g. 125000 -> \"صد و بیست و پنج هزار\". Use for invoices, forms and checks."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/gregorian_to_jalali","method":"POST","description":"Convert a Gregorian date to the Iranian Jalali (Solar Hijri) calendar. Use for any Iranian date, holiday or deadline."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/jalali_to_gregorian","method":"POST","description":"Convert a Jalali (Solar Hijri) date to the Gregorian calendar."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_national_id","method":"POST","description":"Validate an Iranian national ID (کد ملی) with the official checksum algorithm. Use for identity forms and KYC checks."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_sheba","method":"POST","description":"Validate an Iranian SHEBA (IRAN IBAN) account number with both IBAN mod-97 and Iran-specific checksum checks."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_mobile","method":"POST","description":"Validate an Iranian mobile number (09xxxxxxxxx) and report its operator: MCI, Irancell, MTN or Rightel."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_bank_card","method":"POST","description":"Validate an Iranian bank card number (16-digit PAN) with the Luhn checksum and report the issuing bank."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_company_id","method":"POST","description":"Validate an Iranian company registration id (شناسه ملی اشخاص حقوقی)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_economic_code","method":"POST","description":"Validate an Iranian economic code (کد اقتصادی) with its control-digit check."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_postal_code","method":"POST","description":"Validate an Iranian postal code (10 digits) and, when recognised, report the matching province and city."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_landline","method":"POST","description":"Validate an Iranian landline number (0xx) and report its area code and city."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_province","method":"POST","description":"Look up an Iranian province by Persian or English name and return its code, capital and region."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_city","method":"POST","description":"Look up an Iranian city by Persian or English name and return its province and region."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_provinces_list","method":"POST","description":"List all 31 Iranian provinces with their codes, capitals and regions."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_holidays","method":"POST","description":"List the official Iranian public holidays for a Jalali year, including Nowruz and religious occasions."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_holiday_check","method":"POST","description":"Check whether a Gregorian date is an Iranian public holiday, and name it if so."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/iran_amount_to_words","method":"POST","description":"Spell an amount in Persian words with the correct unit (toman or rial). Use for invoices and payment memos."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/rial_toman_convert","method":"POST","description":"Convert between Iranian rial and toman (1 toman = 10 rial)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/persian_keywords","method":"POST","description":"Extract the most frequent meaningful keywords from Persian text, with stopwords removed."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/persian_sentences","method":"POST","description":"Split Persian text into sentences."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/persian_similarity","method":"POST","description":"Compute a 0-1 similarity score between two Persian strings using token overlap (Jaccard)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/strip_html","method":"POST","description":"Remove HTML tags and decode entities from a string."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/fix_rtl","method":"POST","description":"Fix bidirectional text rendering in Persian/Arabic strings by isolating LTR runs."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/homoglyph_fold","method":"POST","description":"Fold Unicode homoglyphs to ASCII to detect spoofed domains, usernames and handles (e.g. pаypal.com with a Cyrillic а)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/script_detect","method":"POST","description":"Detect which Unicode scripts a string uses and flag mixed-script spoofing."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/unicode_normalize","method":"POST","description":"Normalize text to NFC, NFD, NFKC or NFKD and report the first differing position."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/grapheme_count","method":"POST","description":"Count user-perceived characters (graphemes) versus code points, UTF-16 units and bytes."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/describe_date","method":"POST","description":"Describe a calendar date: weekday, ISO week, day of year, quarter, leap year, weekend."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/business_days","method":"POST","description":"Count business days between two dates (weekends excluded)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/slugify","method":"POST","description":"Convert a title into a clean URL slug with accent stripping and optional length limit."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/fnv_hash","method":"POST","description":"Compute a stable FNV-1a content fingerprint (32 and 64 bit)."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/entropy","method":"POST","description":"Shannon entropy of a string in bits per character."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/detect_format","method":"POST","description":"Detect the format of a string: uuid, email, url, ipv4, ipv6, jwt, iban, mac, semver and more."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/detect_encoding","method":"POST","description":"Detect the encoding of a byte string: ascii, utf-8, utf-16, hex, base64, latin-1."},{"url":"https://irantools.johnaio281.workers.dev/api/iran/human_bytes","method":"POST","description":"Format a byte count as a human-readable size."}],"attestation":{"type":"none"},"docs":"https://irantools.johnaio281.workers.dev/","contact":"johnaio281@gmail.com","updated":"2026-10-21T00:00:00Z"}