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

# Errors

> In this guide, we will talk about what happens when something goes wrong while you work with the API. Mistakes happen, and mostly they will be yours, not ours. Let's look at some status codes and error types you might encounter.

export const StatusCodes = ({showTitle = true, showDesc = false, className = ""}) => {
  const codes = [{
    type: "success",
    code: "200",
    desc: "indicates a successful response."
  }, {
    type: "error",
    code: "400",
    desc: "indicates a not enough credits."
  }, {
    type: "error",
    code: "401",
    desc: "indicates an invalid API key."
  }, {
    type: "error",
    code: "422",
    desc: "indicates an error in sending data."
  }, {
    type: "warning",
    code: "500",
    desc: "indicates a server error — you won't be seeing these"
  }];
  return <div className={`${className}`}>
      {showTitle && <h3>Status Codes</h3>}
      {showDesc && <p>
          Here is a list of the different categories of status codes returned by
          the Company URL Finder API. Use these to understand if a request was
          successful.
        </p>}
      <ul className="mt-6 grid gap-4 grid-cols-2 md:grid-cols-3">
        {codes.map(code => <li key={code} className={`align-middle rounded-xl font-medium p-3 ${code.type === "success" ? "bg-emerald-100 text-emerald-500" : code.type === "warning" ? "bg-amber-100 text-amber-500" : "bg-rose-100 text-rose-500"} `}>
            <Icon icon={code.type === "success" ? "circle-check" : code.type === "warning" ? "alert-circle" : "circle-x"} size={32} className={`${code.type === "success" ? "!mint-bg-emerald-600" : code.type === "warning" ? "!mint-bg-amber-600" : "!mint-bg-rose-600"}`} />
            <div>
              <p className="text-lg">{code.code}</p>
            </div>
            <div className="mt-4">
              <p className="text-sm text-zinc-700 capitalize">{code.desc}</p>
            </div>
          </li>)}
      </ul>
    </div>;
};

You can tell if your request was successful by checking the status code when receiving an API response. If a response comes back unsuccessful, you can use the error type and error message to figure out what has gone wrong and do some rudimentary debugging (before contacting support).

<Tip>
  <p>
    Before reaching out to support with an error, please be aware that 99% of all reported errors are, in fact, user errors. Therefore, please carefully check your code before contacting Company URL Finder support.
  </p>
</Tip>

<StatusCodes showDesc />

## Error types

<div>
  Whenever a request is unsuccessful, the Company URL Finder API will return an error response with an error type and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.

  Here is a list of the two error types supported by the Company URL Finder API — use these to understand what you have done wrong.

  <CodeGroup>
    ```json theme={null}
    {
      "type": "api_error",
      "message": "API key is wrong!"
    }
    ```
  </CodeGroup>

  <div>
    <ParamField path="api_error" type="string" required>
      This means that we made an error, which is highly speculative and unlikely.
    </ParamField>

    <ParamField path="invalid_request" type="string" required>
      This means that you made an error, which is much more likely.
    </ParamField>
  </div>
</div>
