# Langfuse vs promptfoo

Both sit in the observability & evals layer with similar commercial terms, so the practical split is language: Langfuse targets Python and promptfoo targets Python.

| | Langfuse | promptfoo |
| --- | --- | --- |
| Licence | Open source | Open source |
| Pricing | freemium | open source |
| Self-hostable | Yes | Yes |
| Languages | Python, TypeScript | TypeScript, Python |
| Install | pip install langfuse | npm install -g promptfoo |
| Keys required | LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY | None |

## Full pages

- https://newagent.build/c/langfuse
- https://newagent.build/c/promptfoo

## Machine interfaces

- `GET https://newagent.build/api/registry` — every component as JSON
- `GET https://newagent.build/api/vendors` — vendors, with the repo and releases feed to watch
- `GET https://newagent.build/api/advise?q=<plain english>` — recommended stack for a description
- `GET https://newagent.build/api/stack?<layer>=<id>&format=sh|json|md|yml|agents|env` — a stack as files
- `GET https://newagent.build/llms.txt` — the whole registry in one fetch

Any page here also returns markdown if you send `Accept: text/markdown`.