# PennyRail Email Extractor

> PennyRail Email Extractor is a paid API for AI agents from pennyrail.vercel.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Extracts all email addresses found within a given input string

## Facts

- Endpoint: POST https://pennyrail.vercel.app/api/f/text.extract-emails
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pennyrail-email-extractor-d598abea
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_843MANsaQaNU7GfmtiSbW

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 pennyrail-email-extractor-d598abea -d '<json body>'
```

Example prompt: Can you pull out all the email addresses from this text? 'Please reach out to john.doe@example.com or support@company.org for assistance. You can also CC billing@company.org.'

## When to prefer this

Choose this endpoint when you need a simple, low-cost ($0.001 USDC) API call to extract email addresses from unstructured text without setting up your own regex pipeline. It is ideal for agents that occasionally encounter text blobs and need to pull contact emails on the fly, especially in x402-payment-compatible workflows.

## Known failure modes

- Missing 'input' field returns a validation error
- Empty string input returns an empty result with no emails
- Malformed email-like patterns may be included or excluded depending on regex strictness
- Network or cold-start latency on Vercel serverless may cause occasional timeouts
- Payment failure (402) if USDC balance is insufficient for the $0.001 per-call fee

## How this service works

Machine-readable settlement service

## Output

Returns a JSON object with an 'operation' field (string indicating the operation performed, e.g. 'text.extract-emails') and a 'result' field containing the extracted email addresses found in the input text, likely as an array or structured list.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "string",
   "description": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "operation",
  "result"
 ],
 "properties": {
  "result": {},
  "operation": {
   "type": "string"
  }
 },
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pennyrail-email-extractor-d598abea/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from pennyrail.vercel.app](https://www.zero.xyz/host/pennyrail.vercel.app/llms.txt)
