> ## Documentation Index
> Fetch the complete documentation index at: https://docs.harborframework.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Model lookup

> See how LiteLLM parses a model name into its provider and model identifier.

export const ModelLookup = ({endpoint}) => {
  const [model, setModel] = useState("openai/gpt-6.1-sol");
  const [result, setResult] = useState(null);
  const [error, setError] = useState("");
  const [loading, setLoading] = useState(false);
  const lookup = async event => {
    event.preventDefault();
    setLoading(true);
    setResult(null);
    setError("");
    try {
      const response = await fetch(`${endpoint}?model=${encodeURIComponent(model.trim())}`, {
        credentials: "omit",
        signal: AbortSignal.timeout(10000)
      });
      const data = await response.json();
      if (!response.ok) {
        setError(typeof data.detail === "string" ? data.detail : "Enter a model name without spaces (up to 1,024 characters).");
        return;
      }
      setResult(data);
    } catch {
      setError("Could not reach the model lookup API. Please try again shortly.");
    } finally {
      setLoading(false);
    }
  };
  return <div className="not-prose my-6 rounded-xl border border-zinc-200 p-5 dark:border-zinc-800">
      <form onSubmit={lookup}>
        <label htmlFor="model-lookup-input" className="mb-2 block text-sm font-medium">
          Model name
        </label>
        <div className="flex flex-col gap-3 sm:flex-row">
          <input id="model-lookup-input" name="model" type="text" value={model} onChange={event => {
    setModel(event.target.value);
    setResult(null);
    setError("");
  }} placeholder="provider/model-name" required maxLength={1024} disabled={loading} autoCapitalize="none" autoCorrect="off" spellCheck={false} className="min-w-0 flex-1 rounded-lg border border-zinc-300 bg-transparent px-3 py-2 font-mono text-sm focus:outline-none focus:ring-2 focus:ring-zinc-500 dark:border-zinc-700" />
          <button type="submit" disabled={loading || !model.trim()} className="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-medium text-white disabled:opacity-50 dark:bg-zinc-100 dark:text-zinc-900">
            {loading ? "Looking up…" : "Look up model"}
          </button>
        </div>
      </form>
      <div aria-live="polite" aria-busy={loading}>
        {error && <p role="alert" className="mt-4 text-sm text-red-700 dark:text-red-400">
            {error}
          </p>}
        {result && <dl className="mt-5 space-y-3 border-t border-zinc-200 pt-4 dark:border-zinc-800">
            {[["Input model", result.input_model], ["Provider", result.provider], ["Parsed model", result.parsed_model], ["LiteLLM version", result.litellm_version]].map(([label, value]) => <div key={label}>
                <dt className="text-xs font-medium text-zinc-500 dark:text-zinc-400">{label}</dt>
                <dd className="mt-1 break-all font-mono text-sm">{value}</dd>
              </div>)}
          </dl>}
      </div>
    </div>;
};

Enter a model name from [LiteLLM's model catalog (JSON)](https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json)
to see its provider and parsed model name. No API key is needed.

<ModelLookup endpoint="https://harbor-model-resolver.onrender.com/resolve" />

Try [`openai/gpt-6.1-sol`](https://developers.openai.com/api/docs/models),
[`anthropic/claude-opus-5-5`](https://platform.claude.com/docs/en/models/overview),
or [`gemini/gemini-3.8-flash`](https://ai.google.dev/gemini-api/docs/models).

You can also try a custom model identifier such as
`fireworks_ai/accounts/my-account/models/my-custom-model`.

The result comes from LiteLLM's `get_llm_provider()`. A successful lookup does
not verify that the model exists or that you have access to it. Provider adapters
can further transform the parsed model name when making an inference request.

The `chatgpt` and `github_copilot` providers are unavailable in this lookup because
their parsers require authentication.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.