# Installation

You can integrate with Appear in three key ways right now.&#x20;

1. [SDKs](https://docs.appear.sh/installation/sdk-installations)
2. API endpoint (docs coming soon)
3. OTel integration (docs coming soon)

For the majority of users, the SDK approach is the most expedient. Below gives an outline of how to install Appear's introspector agent SDK.

***

## SDK installation overview

{% stepper %}
{% step %}

### Create an Appear account

[Contact us](https://docs.appear.sh/getting-started/get-in-touch), and we will provide you with an admin account. You can then add team members and configure your organisation.
{% endstep %}

{% step %}

### Get your API key

Open the side menu and click on 'Settings' to create and view API keys. These can be used to separate concerns. Note that API keys aren't used per environment, as these are handled via the introspector detecting the environment variables.

You may wish to store this as an environment variable.

```
APPEAR_API_KEY:your_api_key
```

{% endstep %}

{% step %}

### Install the Appear package

Choose the installation method and follow the instructions:

* [Javascript/Typescript](https://docs.appear.sh/installation/sdk-installations/node-js-ts)
* [NextJS](https://docs.appear.sh/installation/sdk-installations/nextjs)
* [Redwood JS & Vercel](https://docs.appear.sh/installation/sdk-installations/redwood-js-and-vercel)

Install the package to your system. Installation methods vary per implementation, but the below gives a general idea:

```
npm i @appear.sh/introspector
```

Is what you need not visible? [Get in touch](https://docs.appear.sh/getting-started/get-in-touch) with us and we'll see what we can do!
{% endstep %}

{% step %}

### Integrate Appear

Once the package is installed, import it using your chosen language or framework method. Below gives a general idea:

```typescript
import * as Appear from '@appear.sh/introspector'

Appear.init({
  apiKey: 'your-api-key',
  environment: process.env.NODE_ENV,
})
```

{% endstep %}
{% endstepper %}

## What to expect

Now that you've installed and integrated Appear, you can run your development server and mock user interactions through your application. As this happens, your Appear account will begin being populated with your API catalog, API references, resource maps, and more.

Once Appear is in your production environment, your account will populate automatically when users interact with your product.

This will instantly provide you with:

* API references
* API catalog
* Visual resource map
* Responses
* Scenarios
* Plus loads more&#x20;

***

## Language/framework implementations status

Appear's introspection agent currently works with HTTP/REST APIs with the following.

<table data-full-width="false"><thead><tr><th width="181.3046875">Framework</th><th width="162.1953125" data-type="checkbox">SDK status</th><th width="186.28515625" data-type="checkbox">API Endpoint status</th><th data-type="checkbox">OTel integration status</th></tr></thead><tbody><tr><td><a href="../installation/sdk-installations/nestjs">NestJS</a></td><td>true</td><td>true</td><td>false</td></tr><tr><td><a href="../installation/sdk-installations/nextjs">NextJS</a></td><td>true</td><td>true</td><td>false</td></tr><tr><td><a href="../installation/sdk-installations/node-js-ts">Node.js</a></td><td>true</td><td>true</td><td>false</td></tr><tr><td>Kotlin</td><td>false</td><td>true</td><td>false</td></tr><tr><td>PHP</td><td>false</td><td>true</td><td>false</td></tr><tr><td>.Net</td><td>false</td><td>true</td><td>false</td></tr><tr><td>Ruby</td><td>false</td><td>true</td><td>false</td></tr><tr><td>Go</td><td>false</td><td>true</td><td>false</td></tr><tr><td>Kubernetes Sidecar</td><td>false</td><td>false</td><td>false</td></tr><tr><td>ECS Ssidecar</td><td>false</td><td>false</td><td>false</td></tr></tbody></table>

Missing what you need to get started with Appear? [Request support](mailto:support@appear.sh) and we would love to discuss how we can help you.

## Unsupported&#x20;

At this stage, we don't have concrete plans to support the following:

* GraphQL
* gRPC
* Async APIs

***

If you have any queries or require support with the above instructions, please [get in touch](https://docs.appear.sh/getting-started/get-in-touch) with us.
