# OpenRouter vs LiteLLM

The deciding difference is operational: LiteLLM can run on infrastructure you control, OpenRouter cannot. If that constraint is real for you, it settles the choice before anything else is considered.

| | OpenRouter | LiteLLM |
| --- | --- | --- |
| Licence | Proprietary | Open source |
| Pricing | usage based | open source |
| Self-hostable | No | Yes |
| Languages | TypeScript, Python | Python, TypeScript |
| Install | — | pip install 'litellm[proxy]' |
| Keys required | OPENROUTER_API_KEY | None |

## Full pages

- https://newagent.build/c/openrouter
- https://newagent.build/c/litellm

## 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`.