Use NeverMetered with LangChain

LangChain and LangGraph in Python through ChatOpenAI.

OpenAI Chat
Model
qwen3.8-27b
128K context on the free plan65,536 max output tokens on the free planReplace YOUR_API_KEY with your key.
  1. 1

    Create an API key

    Create a key in API keys and name it after the tool, for example “LangChain”. A dedicated key per tool lets you see its usage separately and give it its own parallel-stream cap. The key is shown once; the snippets below use YOUR_API_KEY where it goes.

  2. 2

    Install the integration

    pip install langchain-openai
  3. 3

    Export your key

    export NEVERMETERED_API_KEY="YOUR_API_KEY"
  4. 4

    Keep it for new terminals (optional)

    The command above only lasts for the current terminal. Save it once so every new terminal has it.

    # zsh (the macOS default)
    echo 'export NEVERMETERED_API_KEY="YOUR_API_KEY"' >> ~/.zshrc
    # bash
    echo 'export NEVERMETERED_API_KEY="YOUR_API_KEY"' >> ~/.bashrc
  5. 5

    Create the chat model

    main.py
    import os
    from langchain_openai import ChatOpenAI
    
    llm = ChatOpenAI(
        model="qwen3.8-27b",
        base_url="https://api.nevermetered.com/v1",
        api_key=os.environ["NEVERMETERED_API_KEY"],
    )
    
    for chunk in llm.stream("Reply with the word ready"):
        print(chunk.content, end="", flush=True)
  6. 6

    Verify it works

    Run the script; it prints the model's reply. The request shows up in Requests within a few seconds, with its input, cached and output tokens.

Tips
  • Use the same llm in LangGraph agents. Batch helpers like llm.batch run requests in parallel, so set max_concurrency in the run config to your parallel-stream limit.

Troubleshooting

404 model_not_found
Use a model id exactly as GET /v1/models lists it, for example qwen3.8-27b. Plans can restrict which models a key may call.
400 context_length_exceeded
The conversation outgrew the 128K context window (input + output). Let the tool compact or start a fresh session, or get a larger window on your plan.
429 concurrency_limit_exceeded
All your parallel streams are busy and your queue allowance is full. Lower the tool's parallelism (subagents, batch size), or get more streams on your plan.
Answers stop mid-sentence
The response hit your plan's output cap of 65,536 tokens (finish reason length or max_tokens). Ask for shorter steps, or upgrade for a higher cap.
403 email_verification_required
Free requests need a verified email. Click the link in your verification email (you can resend it from the dashboard), or upgrade.
429 daily_quota_exceeded
You've used today's free requests; agents send one request per step, so they go quickly. The allowance resets at 00:00 UTC, and paid plans have no daily limit.
503 / 504 request_queue_timeout
The service stayed busy longer than the queue timeout and nothing was generated. Retry with backoff, and give the tool a generous request timeout.
503 service_unavailable
No GPU capacity is online at the moment. It's temporary and your setup is fine: retry in a little while, and check the status page.