API عمومی اکسلی / REST JSON — v1

دسترسی برنامه‌نویسی به ۵۰۰+ تابع اکسل — توضیح فارسی + ترجمه ۶ زبان، سینتکس، ورودی‌ها، مثال، خطاها و دسته‌بندی. CORS فعال، بدون کلید، نرخ ۶۰ درخواست/دقیقه.

Base: https://www.exceli.ir/api/v1 GET /api/v1 → info ↗ openapi.json ↗

اندپوینت‌ها

MethodPathتوضیح
GET/api/v1/functionsفهرست صفحه‌بندی (q, category, sort, page, per_page, lang)
GET/api/v1/function/{slug}جزئیات یک تابع (یا ?slug=sum)
GET/api/v1/categoriesدسته‌ها با تعداد
GET/api/v1/search?q=Search
GET/api/v1/randomRandom

پارامتر lang: fa|en|de|fr|tr|az|ar (پیش‌فرض fa). sort: popular|alpha|views. per_page حداکثر ۱۰۰. CORS * · X-RateLimit-* headers.

cURL

curl https://www.exceli.ir/api/v1/functions?per_page=3
curl https://www.exceli.ir/api/v1/function/sum?lang=fa
curl https://www.exceli.ir/api/v1/categories
curl https://www.exceli.ir/api/v1/search?q=vlookup
curl https://www.exceli.ir/api/v1/random?lang=en

JavaScript

const r = await fetch('/api/v1/function/sum?lang=en').then(r=>r.json());
console.log(r.data.syntax, r.data.description);

Python

import requests
print(requests.get('https://www.exceli.ir/api/v1/functions', params={'q':'sum','lang':'en'}).json())

PHP

$j = file_get_contents('https://www.exceli.ir/api/v1/function/xlookup?lang=fa');
$data = json_decode($j, true); echo $data['data']['syntax'];

Playground — آزمایش زنده

{ "hint": "click a button ↑" }
پاسخ envelope: {success, data, meta} — خطا status 400/404/429

Schema — Function

{
  slug, title, category, applications[],
  syntax, description, output, version,
  volatile, dynamicArray, popularity, views,
  args[{name,type,required,desc}],
  examples[{title,code}], tips[],
  errors[{code,desc,fix}], related[],
  links{url, canonical, api}
}

فیلدهای متنی با lang بومی‌سازی می‌شوند (func-i18n.php) وگرنه فارسی.

CORS & Rate limit

CORS برای همه دامنه‌ها باز است (Access-Control-Allow-Origin: *). محدودیت نرخ ۶۰ درخواست در دقیقه برای هر IP (حافظه فایل tmp، best-effort) — هدرهای X-RateLimit-Limit / Remaining / Window و 429 هنگام عبور.