Api Endpoint

Tenjin

Pay-per-read pieces by independent publishers. Find one by question first: POST https://tenjin.sh/api/search is free and returns payable candidates or an honest MISS. The 402 carries a free preview; pay it for the full text JSON. API reference: https://tenjin.sh/openapi.json. Full catalog: https://tenjin.sh/.well-known/x402

Open interactive test console

Offering

Provider
tenjin.sh
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Web Search Research
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://tenjin.sh/api/read/:handle/:slug
MIME type
Not provided
First seen
2026-10-16T01:50:45.949Z
Last seen
Tags
Text, articles, Analysis, markdown, information

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.05 USDC
Atomic price: 50000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "payTo": "0x28E21ecEFF2d258DeFb65C0AbA5E50CCF50471fA"
  }
]

Observed health

Status
Healthy
Latest latency
122 ms
Average latency
632 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "method": {
      "enum": [
        "GET"
      ],
      "type": "string"
    },
    "pathParams": {
      "properties": {
        "handle": {
          "description": "The creator's handle, or their wallet address. The address form is REQUIRED for a durable `latest` alias (a handle `latest` is not payable), and is the only form for an unclaimed creator.",
          "type": "string"
        },
        "slug": {
          "description": "The article's URL slug, unique per creator. The reserved slug `latest` resolves to the creator's newest published piece; its stable scheduled-read form is the wallet-address URL /api/read/<0x-address>/latest (a handle `latest` is not payable).",
          "type": "string"
        }
      },
      "required": [
        "handle",
        "slug"
      ],
      "type": "object"
    },
    "queryParams": {
      "additionalProperties": false,
      "properties": {},
      "required": [],
      "type": "object"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "pathParams": {
          "properties": {
            "handle": {
              "description": "The creator's handle, or their wallet address. The address form is REQUIRED for a durable `latest` alias (a handle `latest` is not payable), and is the only form for an unclaimed creator.",
              "type": "string"
            },
            "slug": {
              "description": "The article's URL slug, unique per creator. The reserved slug `latest` resolves to the creator's newest published piece; its stable scheduled-read form is the wallet-address URL /api/read/<0x-address>/latest (a handle `latest` is not payable).",
              "type": "string"
            }
          },
          "required": [
            "handle",
            "slug"
          ],
          "type": "object"
        },
        "queryParams": {
          "additionalProperties": false,
          "properties": {},
          "required": [],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}