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

# Looker

> Connect Looker to Paradime to bring your Looker dashboards, Looks, and explores into the catalog and column-level lineage alongside your dbt™ models.

export const Arcade = ({src, title}) => <div style={{
  position: 'relative',
  paddingBottom: 'calc(56.2225% + 41px)',
  height: 0,
  width: '100%'
}}>
    <iframe src={src} title={title} frameBorder="0" loading="lazy" allow="clipboard-write" allowFullScreen style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  colorScheme: 'light'
}} />
  </div>;

[Looker](https://cloud.google.com/looker) is a business intelligence and data visualization platform. Connecting Looker to Paradime extracts your Looker metadata so your dashboards, Looks, and explores appear in the catalog and lineage next to the dbt™ models that feed them.

## What you can do

<CardGroup cols={2}>
  <Card title="Catalog & Lineage" icon="sitemap" href="/products/data-catalog/asset-details/looker">
    Looker dashboards, Looks, and explores appear as assets in Paradime's catalog and lineage, so you can trace dbt™ models through to the reports built on them.
  </Card>
</CardGroup>

## Prerequisites

<Info>
  We advise creating a new Looker user, something like **paradime\_user** in order to grant the correct access required to connect all your Looker nodes to your data models in Paradime.
</Info>

## Step 1: Create a dedicated Looker user for Paradime

#### **1. Create a new permission set called `paradime-permission` and include permissions to:**

* `access_data`
* `see_lookml_dashboards`
* `see_looks`
* `see_user_dashboards`
* `see_sql`
* `see_lookml`
* `develop`
* `see_schedules`
* `see_pdts`
* `see_system_activty`

#### **2. Create a new model set and include all models for which you want to visualize the data dependencies in Paradime lineage.**

#### **3. Create a new role in Looker called `paradime-role` and add the permissions set created in step:1 and the model set created in step:2:**

#### **4 Create the Looker user as `paradime_user` and grant role `paradime-role`**

👉 See also:

[https://cloud.google.com/looker/docs/admin-panel-users-roles](https://cloud.google.com/looker/docs/admin-panel-users-roles)

## Step 2: Generate your Looker API 4 credentials

Paradime connects to Looker via the Looker API4. In order for Paradime to connect to Looker we require:

* Host name: usually this should look something like this *`https://<yourcompany>.cloud.looker.com`* you can find this in your *General > Settings* section in Looker.
* Client ID
* Client Secret

#### Generate your API4 credentials

* Create API4 credentials on the Users page in the Admin section of your Looker instance - navigate to Users pages, click on the **Edit** button for the user you want to generate the API credentials, then click on **Edit keys** and finally to **New API4Key**. If you’re not a Looker admin ask your Looker admin to create the API3 credentials for you.
* API4 credentials are always bound to a Looker user account. API requests execute “as” the user associated with the API4 credentials. Calls to the API will only return data that the user is allowed to see and modify.
* The API4 credentials that you generated include a client ID and a client secret. You’ll need to provide these to the Paradime in order to connect to Looker.

👉 See also: Looker Edit API Keys

[https://cloud.google.com/looker/docs/admin-panel-users-users#api\_keys](https://cloud.google.com/looker/docs/admin-panel-users-users#api_keys)

## Catalog & Lineage

Bring Looker assets into Paradime's [data catalog and column-level lineage](/products/data-catalog/asset-details/looker), so you can trace dbt™ models through to the dashboards and Looks built on them.

The Looker integration is set up by the **Admin user** for your organization profile. In Paradime, go to **Settings → Integrations** (see [connecting integrations](/integrations/connecting-integrations)), find **Looker**, and click **Connect**.

### Step 3: Connection parameters

Click on connect and add the API credentials of your Looker user.

| Field             | Required | Description                                                 |
| ----------------- | -------- | ----------------------------------------------------------- |
| **Host Name**     | ✅        | Usually looks like `https://<yourcompany>.cloud.looker.com` |
| **Client ID**     | ✅        | The Client ID from your API4 credentials                    |
| **Client Secret** | ✅        | The Client Secret from your API4 credentials                |

### Step 4: Connect your Looker repository

Select your git host provider and add you Looker repository Git URL. Paradime will generate a Deploy Key for your repository. You must provide this Deploy Key in the Repository configuration of your Git host.

<Info>
  💡 Note that for the Looker repository, Paradime will need only **Read** access.
</Info>

<Card title="Importing A Repository" icon="arrow-right" horizontal href="/products/settings/git-repositories/importing-a-repository/index" />

<Arcade src="https://demo.arcade.software/q1DEtkF14oW9ZL2mPPhl?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Looker" />

## FAQs

### What Looker API endpoints paradime uses to extract metadata for this integration?

Paradime connects to the Looker API to extract metadata used to enrich the Paradime Lineage and the Paradime Catalog. Below is the list of endpoints used to extract metadata from your Looker instance.

* [`get_all_projects`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/project#get_all_projects)
* [`get_all_scheduled_plans`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/scheduled-plan#get_all_scheduled_plans)
* [`get_all_dashboards`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/dashboard#get_all_dashboards)
* [`get_dashboard`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/dashboard#get_dashboard)
* [`get_all_looks`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/look#get_all_looks)
* [`get_all_lookml_models`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/lookml-model#get_all_lookml_models)
* [`get_lookml_model_explore`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/lookml-model#get_lookml_model_explore)
* [`get_query`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/query#get_query)
* [`get_current_user`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/user#get_current_user)
* [`get_user_by_id`](https://docs.looker.com/reference/api-and-integration/api-reference/v3.1/user#get_user_by_id)


## Related topics

- [Looker](/products/data-catalog/asset-details/looker.md)
- [Security model](/resources/other-important-stuff/security-model.md)
- [Looker Monitoring](/products/radar/bi-monitoring/looker-monitoring.md)
- [Column-Level Lineage Diff for Looker](/products/bolt/ci-cd/lineage-diff/looker.md)
- [Integration errors](/get-help/error-list/integration-errors.md)
