# PennyRail MIME Type Lookup

> PennyRail MIME Type Lookup 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-14).

Looks up the MIME type for a given file extension or filename, returning the corresponding content-type string

## Facts

- Endpoint: POST https://pennyrail.vercel.app/api/p/nano/mime.lookup--mime-type-lookup
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pennyrail-mime-type-lookup-4136c389
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_seUh6AxKlQmmuIvUStYYW

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-mime-type-lookup-4136c389 -d '<json body>'
```

Example prompt: What's the MIME type for a .svg file? I need to set the correct content-type header when serving it.

## When to prefer this

Use this endpoint when you need a quick, paid, machine-readable MIME type resolution as part of an automated pipeline or agent workflow, particularly when already operating within the x402 micropayment ecosystem on PennyRail. Prefer alternatives (local npm mime package, free APIs) for high-volume lookups where per-call cost adds up.

## Known failure modes

- Unknown or unrecognized file extension returns null or empty result
- Missing 'input' field in request body causes validation error
- Malformed input object causes 400-level error
- Extension provided without leading dot may not resolve correctly
- Payment failure (402) if USDC balance insufficient

## How this service works

Machine-readable settlement service

## Output

Returns an object containing the resolved MIME type string (e.g. 'image/png', 'application/pdf') corresponding to the provided file extension or filename. If the extension is unrecognized, may return null or a default fallback type.

## Request schema (JSON Schema)

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

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pennyrail-mime-type-lookup-4136c389/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)
