# nostr.halowerk.com RSS-to-Nostr Converter

> nostr.halowerk.com RSS-to-Nostr Converter is a paid API for AI agents from nostr.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Fetches an RSS/Atom/RDF feed from a URL and converts each entry into a signed NIP-01 Nostr event (kind 1 short note or kind 30023 long-form article).

## Facts

- Endpoint: POST https://nostr.halowerk.com/rss-to-nostr
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nostr-halowerk-com-rss-to-nostr-converter-460c561b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qrBCxm0fHsiXQWkzJjPVB

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 nostr-halowerk-com-rss-to-nostr-converter-460c561b -d '<json body>'
```

Example prompt: Take my blog's RSS feed at https://myblog.example.com/feed.xml and convert every entry into a Nostr kind 30023 long-form article event so I can publish it on Nostr.

## When to prefer this

Use this endpoint when you need to bridge existing RSS, RDF, or Atom feed content into the Nostr protocol without building a custom parser. It is the right choice when you want NIP-01 compliant events ready to sign and broadcast, especially when you need NIP-23 long-form article structure (kind 30023) with proper tags, or simple kind 1 notes for short-form syndication. Prefer this over generic feed parsers when the target output must be Nostr-native event JSON.

## Known failure modes

- Feed URL unreachable or returns non-2xx HTTP status — fetch error returned
- Feed exceeds size limit — truncation or rejection error
- Unrecognized feed format (not RSS 2.0, RDF, or Atom) — parse failure
- Redirect loop or too many redirects — fetch aborted
- Empty feed with no entries — empty event list returned
- Malformed XML in feed — parse error

## How this service works

Fetches the feed over https with redirect and size limits, recognises RSS 2.0, RDF and Atom, and converts each entry into a NIP-01 event. Kind 1 produces a short note built from title, optional shortened summary and the link; kind 30023 produces a long-form article carrying the full entry text plus the title, published_at and d tags that NIP-23 expects.

## Output

Returns one or more NIP-01 compatible Nostr event objects. Kind 1 events contain a short note body assembled from the feed entry's title, an optional shortened summary, and the item link. Kind 30023 events carry the full entry text as content, plus NIP-23 required tags: title, published_at, and a d tag derived from the entry identifier.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "kind": {
   "enum": [
    1,
    30023
   ],
   "type": "integer",
   "default": 1,
   "description": "1 for short notes, 30023 for NIP-23 long-form articles."
  },
  "limit": {
   "type": "integer",
   "default": 10,
   "maximum": 50,
   "minimum": 1,
   "description": "How many of the newest entries to convert."
  },
  "pubkey": {
   "type": "string",
   "description": "Public key as hex or npub of the account that will sign. Given, every event carries its computed id."
  },
  "feed_url": {
   "type": "string",
   "description": "https address of the RSS or Atom feed."
  },
  "since_unix": {
   "type": "integer",
   "minimum": 0,
   "description": "Only convert entries published at or after this Unix timestamp. Entries without a date are kept."
  },
  "include_summary": {
   "type": "boolean",
   "default": true,
   "description": "Include the entry summary in a kind 1 note. Ignored for kind 30023."
  },
  "summary_max_chars": {
   "type": "integer",
   "default": 480,
   "maximum": 2000,
   "minimum": 80,
   "description": "Maximum summary length in a kind 1 note before it is cut at a word boundary."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nostr-halowerk-com-rss-to-nostr-converter-460c561b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nostr.halowerk.com](https://www.zero.xyz/host/nostr.halowerk.com/llms.txt)
