# JavaScript/Node.js Linter (V8 + Static Analysis)

> JavaScript/Node.js Linter (V8 + Static Analysis) is a paid API for AI agents from api.webbersites.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15, last successful call 2026-07-17).

Lints JavaScript/Node.js source code using the real V8 parser for syntax errors plus deterministic static checks, returning bugs with line numbers — never executes the code.

## Facts

- Endpoint: POST https://api.webbersites.com/api/lint/javascript
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Last successful call: 2026-07-17
- Success rate: 100% of calls made through Zero
- Activations on Zero: 4
- Tags: x402
- Canonical page: https://www.zero.xyz/c/javascript-node-js-linter-v8-static-analysis-e19fa853
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Fw5uVJefuZCTQaOKWncD6

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 javascript-node-js-linter-v8-static-analysis-e19fa853 -d '<json body>'
```

Example prompt: Can you lint this JavaScript file for me and flag any bugs with line numbers — I want syntax errors, loose == comparisons, unused variables, and any leftover console.log statements caught before I ship it?

## When to prefer this

Choose this endpoint when you need fast, deterministic, no-AI JavaScript/Node.js linting that is safe (compile-only, never executes), supports ESM imports and modern syntax, and returns precise line numbers. Prefer it over AI-based code review when you want reproducible, rule-based results without hallucination risk, or over heavy local toolchains (ESLint) when running in a serverless or agent context without a Node environment.

## Known failure modes

- Code exceeds 128 KB limit — request rejected
- Malformed JSON body — missing or invalid 'code' field
- Non-JavaScript content submitted — V8 parser reports unexpected syntax errors
- Empty string submitted — may return no issues or trivial parse result
- Network timeout for very large near-limit payloads

## How this service works

JavaScript / Node lint: POST {code}, get the bugs back with line numbers. Syntax errors come from the real V8 parser (compile-only — code is never executed), plus deterministic checks: loose == coercion, assignment in conditions, comparisons with NaN, const reassignment (runtime TypeError), var pitfalls, unused variables, leftover console.log. Handles ESM imports, template literals, regex. No AI. Max 128 KB.

## Output

A list of detected issues in the submitted JavaScript code, each with a line number and description of the problem. Issues may include syntax errors (from V8 compile-only parsing), loose == coercions, assignments inside conditions, NaN comparisons, const reassignments, var-related pitfalls, unused variables, and leftover console.log calls.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "code"
     ],
     "properties": {
      "code": {
       "type": "string",
       "description": "JavaScript/Node source to lint, max 128 KB"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "counts": {
       "type": "object"
      },
      "issues": {
       "type": "array"
      },
      "syntax": {
       "type": "object"
      },
      "verdict": {
       "type": "string"
      },
      "language": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "counts": {
   "info": 0,
   "error": 2,
   "warning": 0
  },
  "issues": [
   {
    "hint": "use Number.isNaN(x)",
    "line": 2,
    "rule": "nan-compare",
    "message": "nothing is ever == NaN — this comparison is always false",
    "severity": "error"
   }
  ],
  "syntax": {
   "ok": true,
   "errors": []
  },
  "verdict": "errors",
  "language": "javascript"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/javascript-node-js-linter-v8-static-analysis-e19fa853/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.webbersites.com](https://www.zero.xyz/host/api.webbersites.com/llms.txt)
