# AX Check: rentry.org
Checked 2026-09-19.

Rentry offers no machine-readable docs, but is free to use
No Markdown homepage or documentation index exists for agents. Homepage HTML loads fine, and all three sessions confirmed the service is free with clear content limits.

## Onboarded with real credentials

## Coding sessions
All three independent sessions (DeepSeek V4 Pro, Kimi K3, Qwen 3.8 Max) completed and agreed Rentry is a free paste service with no paid tiers or API keys, citing the same operative limits: a 200k character cap and custom URL length rules, rather than a bare price.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/959e9a93-208d-4f90-b3fc-424b090cb9af) · [Read transcript](https://www.ax-check.com/rentry.org/sessions/deepseek.json)
Final output states core service is free (quoting Rentry's own statement), notes no metering/tokens, content-based limits (200k chars, custom URL length), and that optional paid Membership does not gate API usage — assumptions named alongside the figure.
#### End-to-end onboarding
- **Onboarded with real credentials**: The agent obtained working credentials on its own (a self-chosen edit_code, no human-supplied secret, no login/signup flow) and used them for real authenticated CRUD operations against the hosted rentry.co API: creating an entry, fetching it back, editing it, and confirming the edit persisted. All calls hit the live rentry.co domain, not a local mock.
  Event 106:

  ```text
  const editCode = process.env.RENTRY_EDIT_CODE || `demo-edit-${rand}`;
  ```
  Event 111:

  ```text
  1. created: https://rentry.co/pi-agent-demo-x808t4e2
  2. fetched (initial): "# Hello from pi\n\nThis page was created through the **Rentry."…
  3. edited: ok
  4. fetched (after edit): "> Last edited through the API at 2026-09-19T02:44:49.067Z"
  ```
  Event 97:

  ```text
  {"status": "200", "content": {"url": "rddvmrq5", "url_case": "rddvmrq5", "views": 0, "pub_date": "2026-09-19T02:42:58+00:00", "activated_date": null, "edit_date": "2026-09-19T02:44:11+00:00", "modify_code_set": false, "text": "# Edited via API", "metadata": null, "metadata_version": null}}
  ```

#### Hallucinated URLs
- **Guessed edit endpoint pattern that returned a real 404 page**: The agent tried an invented URL shape /api/{url}/edit as an alternative to the documented /api/edit/{url} pattern. This returned a generic site 404 (not a broken documented link), confirming the guessed shape was wrong. The agent recovered immediately by using the correct, documented pattern found in the official CLI source and succeeded on the next call, so this did not block progress.
  Event 58:

  ```text
  B: /api/testkey123/edit
  ```
  Event 62:

  ```text
  404 not found
  ```

#### Blockers
- **Raw markdown endpoint requires an admin-issued access code**: The GET /api/raw/{url} endpoint is gated by a SECRET_RAW_ACCESS_CODE that must be obtained by emailing Rentry admins — a real product access restriction, not an agent or environment error. This did not stop overall progress because the agent found and used the unauthenticated POST /api/fetch/{url} endpoint (with the entry's own edit_code) as a working substitute to read content back.
  Event 36:

  ```text
  To access the raw version of this page, a valid access code must be set in the metadata: SECRET_RAW_ACCESS_CODE.
  ```
  Event 36:

  ```text
  You may request an access code by emailing
  ```
  Event 97:

  ```text
  === fetch ===
  {"status": "200", "content": {"url": "rddvmrq5"
  ```

#### Suggested Changes
- **Document the /api/fetch/{url} endpoint alongside /api/raw/{url} on the 'what' or 'how' pages**: The homepage and /what page describe the raw-access-code gate on /api/raw but never mention that /api/fetch/{url} (with edit_code) returns the same text unauthenticated. The agent discovered this only by reading a third-party CLI's source on GitHub. Add a short API section to https://rentry.co/what documenting new/edit/fetch/delete endpoints and their auth requirements; verify by checking a new developer can find /api/fetch without resorting to reverse-engineering client code.
  Event 36:

  ```text
  To access the raw version of this page, a valid access code must be set in the metadata: SECRET_RAW_ACCESS_CODE.
  ```
  Event 90:

  ```text
  def fetch(url, edit_code):
      client = UrllibClient()
  
      payload = {
          'edit_code': edit_code
      }
      return json_loads(client.post(base_url + '/api/fetch/{}'.format(url), with_captcha_code(payload)).data)
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/e05ef651-55d3-4714-98f8-2507392a10f1) · [Read transcript](https://www.ax-check.com/rentry.org/sessions/kimi.json)
Final output states pricing is free with no paid tiers/API keys, and names the concrete limits (200k char cap, custom URL length rules) as the operative constraints instead of a bare number.
#### End-to-end onboarding
- **Onboarded with real credentials**: No signup or human-supplied credentials were needed since Rentry's API is keyless; the agent generated its own 'edit_code' value client-side and used it to perform a full authenticated CRUD lifecycle (create, fetch, edit, delete) against the live hosted rentry.co API, confirmed by real paste URLs and 200/OK responses.
  Event 23:

  ```text
  EDIT_CODE = "demo-edit-code-12345"  # keep this secret; it controls the paste
  ```
  Event 49:

  ```text
  {'status': '200', 'content': 'OK', 'url': 'https://rentry.co/osdfrxps', 'url_short': 'osdfrxps', 'edit_code': 'demo-edit-code-12345'}
  ```
  Event 49:

  ```text
  3) Editing it...
      {'status': '200', 'content': 'OK'}
  4) Deleting it (cleanup)...
      {'status': '200', 'content': 'OK'}
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Edit and delete calls initially failed with a 403**: The agent's first script sent edit_code, url, and text in the POST body to /api/edit and /api/delete, matching the plain-language description on the /what page, but the live API returned 403 Forbidden. This was an agent error caused by incomplete documentation on the public-facing page rather than a product outage; the agent resolved it itself by downloading the official rentry PyPI package source and finding the correct path-based endpoint shape (/api/edit/<url>).
  Event 27:

  ```text
  requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://rentry.co/api/edit
  ```
  Event 43:

  ```text
  The SDK shows the correct endpoints: `/api/edit/<url>` and `/api/delete/<url>` (URL in path), plus `/api/fetch/<url>` for reading content with the edit code. Fixing my script:
  ```
- **Raw read endpoint requires an admin-issued access code**: GET /api/raw/<url> returned 403 because it requires a SECRET_RAW_ACCESS_CODE obtained from Rentry admins via a rentry-auth header. This is a product-imposed restriction (not a bug) and the agent worked around it using /api/fetch/<url> with the edit code instead, so it did not block progress.
  Event 27:

  ```text
  {'status': '403', 'content': 'This page does not have a SECRET_RAW_ACCESS_CODE set. You may still view it over raw by obtaining your own code from Rentry admins and setting it as a custom header: rentry-auth'}
  ```

#### Suggested Changes
- **Document the path-based URL parameter for /api/edit and /api/delete**: On the rentry.co/what page, the API section describes edit code and url as generic fields but does not state that url must be placed in the endpoint path (/api/edit/<url>, /api/delete/<url>) rather than the POST body. Update /what to show the exact endpoint shape; verify by confirming a POST to /api/edit with url only in the body no longer looks like the documented usage.
  Event 15:

  ```text
  Edit code Optional edit code can be set. It can be used to edit, delete or rename the entry later.
  ```
  Event 27:

  ```text
  requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://rentry.co/api/edit
  ```
- **Document /api/fetch as the read endpoint alongside /api/raw**: The /what page and API description do not mention /api/fetch/<url> as a way to retrieve paste content using only the edit code; developers are led toward /api/raw/<url>, which requires an admin-issued SECRET_RAW_ACCESS_CODE. Add /api/fetch to the API docs on rentry.co/what so new developers do not need to inspect the PyPI package source to find it.
  Event 27:

  ```text
  {'status': '403', 'content': 'This page does not have a SECRET_RAW_ACCESS_CODE set. You may still view it over raw by obtaining your own code from Rentry admins and setting it as a custom header: rentry-auth'}
  ```
  Event 41:

  ```text
  def fetch(url, edit_code):
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/52098c63-9c39-45fd-aef8-b29dc4f7e943) · [Read transcript](https://www.ax-check.com/rentry.org/sessions/qwen.json)
Final output states the core service is free (verified via curl to /what and /how at seq 40-43) and grounds that figure in explicit assumptions — no accounts/API keys, per-entry authorization, voluntary Bitcoin/Membership donations, and one gated paid-adjacent feature (/raw access code).
#### End-to-end onboarding
- **Onboarded with real credentials**: No account signup or API key was needed for Rentry — the product's developer workflow is anonymous: creating an entry via the hosted API returns a self-service edit code that authorizes further operations on that specific resource. The agent obtained this per-resource credential itself (no human handed over a secret) and then used it to perform authenticated operations against the real hosted rentry.co service: creating a page, fetching it back, editing its text, and verifying the edit persisted.
  Event 61:

  ```text
  created:  https://rentry.co/7o3a5vqt
  edit url: https://rentry.co/7o3a5vqt/edit  (edit code: rdYWMBYh)
  ```
  Event 74:

  ```text
  created:  https://rentry.co/fgorpd4u
  edit url: https://rentry.co/fgorpd4u/edit  (edit code: ysu6FFxi)
  fetched:  116 chars, 0 views
  updated:  https://rentry.co/fgorpd4u
  verified: update visible via fetch
  ```
  Event 65:

  ```text
  "text": "# Deployment notes\n\n- [x] Build passed\n- [ ] Rollout to staging\n- [ ] Rollout to prod\n\n> Created via the Rentry API."
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Hit per-IP rate limit on page creation**: Product behavior: the hosted API returned HTTP-style 429 on the first create call because Rentry rate-limits creates per IP. This is normal API throttling, not a defect or credential problem. The agent recovered by adding a retry-with-backoff helper and the second attempt succeeded.
  Event 53:

  ```text
  AssertionError: {'status': '429', 'content': 'Too many create requests, please slow down e051'}
  ```
  Event 61:

  ```text
  rate limited, waiting 20s... (1/4)
  created:  https://rentry.co/7o3a5vqt
  ```
- **Response shape mismatch caused a script crash (agent error)**: The agent's first script assumed `fetch` returned page fields at the top level, but the actual response nests them under a `content` key. This was an agent coding mistake based on incomplete inspection of the SDK's actual response, not a product defect, and was fixed within the same turn by inspecting a raw fetch call.
  Event 61:

  ```text
  KeyError: 'text'
  ```
  Event 65:

  ```text
  "status": "200",
    "content": {
      "url": "7o3a5vqt"
  ```

#### Suggested Changes
- **Document the fetch response's nested 'content' field in the client docstring**: The bundled RentryClient.fetch() docstring says it returns 'a page's full details' but does not mention that fields land under a top-level 'content' key rather than at the response root, unlike new()/edit() which return url/edit_code at the top level. This inconsistency caused a KeyError during first use (seq 61). Add a one-line note or example return value to the fetch() docstring in rentry_client/client.py; verify by having a new user write a fetch call correctly on the first try without inspecting a raw JSON dump.
  Event 36:

  ```text
  def fetch(self, url, edit_code):
          """Fetch a page's full details (text, metadata, views, dates...)."""
  ```
  Event 61:

  ```text
  KeyError: 'text'
  ```
- **State the create rate limit explicitly in the API/SDK docs**: The create endpoint enforces a per-IP throttle that surfaces only as a runtime 429 with a terse message, with no documented threshold. Add the rate limit (requests per minute/IP) to the rentry.co /how or /what page and/or the RentryClient.new() docstring so first-time integrators can pre-emptively pace requests instead of discovering it via a failed call.
  Event 53:

  ```text
  {'status': '429', 'content': 'Too many create requests, please slow down e051'}
  ```

### Task given to each agent
Help me build a simple example using Rentry. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: F · 0/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  https://rentry.org/llms.txt returned 404, so no documentation index exists.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  No llms.txt body was returned (404), so navigation guidance cannot be judged.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  No llms.txt body was returned (404), so API/MCP/skills mentions cannot be judged.
  ```

- **Skipped** — A compact guide representation exists

  ```text
  No compact guide representation was fetched; only the Rentry homepage and a 404 llms.txt were retrieved.
  ```

- **Skipped** — A focused guide is directly retrievable

  ```text
  No focused guide page was fetched; homepage links to /how and /what were not retrieved.
  ```

- **Skipped** — Equivalent instructions fit a token budget

  ```text
  No compact guide was fetched, so its token budget cannot be measured.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown is unsupported, so link preservation across formats cannot be judged.
  ```

- **Skipped** — The compact guide is independently actionable

  ```text
  No compact agent guide was fetched; only the Rentry homepage and a 404 llms.txt were retrieved.
  ```

- **Skipped** — Install and next-step links resolve

  ```text
  No install or next-step links were sampled; homepage links were not fetched to verify resolution.
  ```


### Onboarding
- **Skipped** — Docs lead to a relevant quickstart

  ```text
  No Rentry docs or quickstart pages were fetched; only the 404 llms.txt and foreign MDN pages.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No Rentry installation or setup page was fetched, so no install commands are available.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  No Rentry documentation or code-example page was fetched in this bundle.
  ```

- **Skipped** — Prerequisites and auth boundaries are explicit

  ```text
  No Rentry docs describing prerequisites or auth boundaries were fetched.
  ```


### Pricing
- **Skipped** — Pricing is readable without interaction

  ```text
  Not applicable: the relevant product is free. Rentry.co is a free Markdown paste service; no pricing page or paid plans were fetched.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  Not applicable: the relevant product is free. No pricing page was fetched; the product appears free with no stated prices.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  Not applicable: the relevant product is free. No pricing units or limits exist to assess; the service is free.
  ```

- **Skipped** — Agents identify pricing and its assumptions

  ```text
  Not applicable: the relevant product is free. Rentry.co is a free Markdown paste service; no pricing page or paid plans were fetched.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec was fetched for Rentry; only a 404 llms.txt and foreign MDN pages.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation was fetched for Rentry.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path was fetched for Rentry.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No Rentry SDK or package registry result was fetched.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills documentation was fetched for Rentry.
  ```



[Full report data](https://www.ax-check.com/rentry.org/report.json)
