# farsi-tools Persian/Arabic Data Cleanup (up to 500 rows, $9)

> farsi-tools Persian/Arabic Data Cleanup (up to 500 rows, $9) is a paid API for AI agents from farsi-tools.johnaio281.workers.dev, paid per call via x402, $9/call, status unknown (last checked 2026-10-31).

Accepts a base64-encoded CSV/TSV/TXT file of Persian or Arabic text and returns a normalized, cleaned version with optional Latin transliteration column — fixed price $9 for files up to 500 rows.

## Facts

- Endpoint: GET https://farsi-tools.johnaio281.workers.dev/api/fa/cleanup-500?utm_source=zero.xyz
- Price: $9/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/farsi-tools-persian-arabic-data-cleanup-up-to-500-rows-9-c7f36a16
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tQBZ43LGAh2XTfxyf7uGL

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability farsi-tools-persian-arabic-data-cleanup-up-to-500-rows-9-c7f36a16
```

Example prompt: I have a CSV file of Iranian customer contacts with messy Persian text — mixed digit styles and inconsistent characters. Can you clean it up, normalize all digits to ASCII, and add a Latin transliteration column? The file is called contacts.csv and has up to 300 rows.

## When to prefer this

Choose this endpoint when you have a file of up to 500 rows of Persian or Arabic text data (CSV, TSV, or plain text) that needs batch normalization at a fixed price of $9. Prefer it over per-call normalization APIs when the file size fits the tier and you want predictable flat-rate pricing paid in USDC with no signup. If your file exceeds 500 rows, use the higher-tier cleanup endpoint instead.

## Known failure modes

- File exceeds 5 MB decoded limit — returns an error rejecting the payload
- Unsupported file extension (not .csv, .tsv, .txt, or .md) — format detection fails
- Invalid base64 encoding in content_b64 — returns a decode error
- File contains more than 500 rows — rejected by this tier, upgrade to higher tier required
- Missing required query parameters (filename or content_b64) — returns 400 bad request
- Payment not completed or insufficient USDC — returns 402 Payment Required

## How this service works

Persian (Farsi) and Iranian utility API for AI agents. Text normalization, transliteration, Jalali (Solar Hijri) calendar conversion, Persian digits and number-to-words, Iranian national ID / Sheba (IBAN) / mobile / landline / postal code / bank card (Luhn PAN) / company ID / economic code validators, Iranian provinces and cities, official Jalali holidays, Rial-Toman conversion. Also a FIXED-PRICE deliverable SKU: Persian/Arabic data cleanup at $0.90, $9 or $25 flat per file (not per call) - upload a CSV, TSV or text file and get it back normalized, with an optional Latin transliteration column. Pay per request in USDC on Base via x402 - no signup, no API key, no KYC.

## Output

A JSON object containing the cleaned file as a base64-encoded string (output_b64), a download URL for the job result, a unique job ID, the detected format, row and column counts, the maximum rows for this tier, and processing statistics including how many rows were changed, the digit normalization mode applied, and whether transliteration was performed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "filename",
      "content_b64"
     ],
     "properties": {
      "options": {
       "type": "object",
       "description": "Optional: {\"digits\":\"ascii\"|\"persian\"|\"keep\",\"transliterate\":true}. digits defaults to \"ascii\"; transliterate appends a Latin column."
      },
      "filename": {
       "type": "string",
       "description": "Original file name. The extension selects the format: .csv, .tsv, .txt, .md. Max 5 MB decoded."
      },
      "content_b64": {
       "type": "string",
       "description": "The file bytes, base64 encoded. Max 5 MB decoded (about 6.7 MB on the wire)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "cols": 3,
  "rows": 2,
  "tier": "cleanup-500",
  "price": "$9",
  "stats": {
   "digits": "ascii",
   "rows_changed": 2,
   "transliterated": false
  },
  "format": "csv",
  "job_id": "cln_00000000000000000000000000000000",
  "filename": "contacts.csv",
  "max_rows": 500,
  "output_b64": "",
  "download_url": "/api/fa/cleanup/job/cln_00000000000000000000000000000000",
  "output_bytes": 0,
  "output_filename": "contacts.cleaned.csv"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/farsi-tools-persian-arabic-data-cleanup-up-to-500-rows-9-c7f36a16/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from farsi-tools.johnaio281.workers.dev](https://www.zero.xyz/host/farsi-tools.johnaio281.workers.dev/llms.txt)
