> For the complete documentation index, see [llms.txt](https://tembi.gitbook.io/tembi-knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tembi.gitbook.io/tembi-knowledge-base/data-overview/api-documentation.md).

# API documentation

The Tembi API gives you programmatic access to the same webshop intelligence that powers the Tembi platform. Use it to enrich your CRM, build lead-scoring models, monitor competitors, plan logistics coverage, or feed any internal system that benefits from structured data on European e-commerce.

Every endpoint is keyed on `domain_id`, so you can join data across modules — for example, combining a webshop's checkout providers with its company financials and predicted growth to build a single, prioritized account view.

#### What you can pull

* **Meta information** — company numbers, tech stack, payment and 3PL systems, social links, product counts, and tech-spend tier for each domain.
* **Checkout information** — delivery providers, methods, prices, lead times, and screenshots captured directly from live checkouts, with full history.
* **Financial information** — registry data including revenue and gross profit (2016–2025), key people, addresses, and industry codes.
* **Webshop size & growth** — Tembi's 0–100 size score and growth prediction, each with the impact labels behind the model's output.
* **Keyword monitoring** — domain matches against the keyword groups you configure in the Tembi platform.
* **Product insight** — category, brand, price, weight, and dimension distributions per domain, with both latest snapshots and history.
* **Scraping sessions** — IDs and timestamps so you can align data pulls and retrieve historical snapshots.

#### A note on data freshness

Each record carries its own timestamp — `last_checked`, `scraping_session`, `last_modified_date`, or `last_updated` depending on the module. Use these to decide when to refresh, and use `checkout_scraping_id` or `scraping_session_id` when you need to reconcile a specific snapshot.

#### Getting started

1. **Authenticate.** All requests require a bearer token. In Swagger, click **Authorize** and paste your token. From a backend, send it as an `Authorization` header.
2. **Explore interactively.** The full Swagger UI is at [`https://api.tembi.io/api/v1/docs`](https://api.tembi.io/api/v1/docs).
3. **Pick a market.** Most endpoints accept a `country_code` parameter (e.g. `DK`, `SE`, `NO`, `FI`) along with `page_size` and `page_num` for pagination.

### **Login/Authentication**

Before the endpoints in the api can be used one have to authenticate with their token.

If connected manually click the Authorize icon, and paste in your token in the value field.

<figure><img src="/files/pdyi8tHhUfPZ9faTIK5z" alt=""><figcaption></figcaption></figure>

If connected via. a backend application, pass the token in an authorization field in the header of the request.

## Endpoints

### Meta Information

Mostly static information on a domain such as company numbers, or which delivery providers they mention in their ‘Terms & Condtions’, alternative domains to the domain, delivery software used, number of products etc.

The endoint is currently not in the the swagger documentation but can be reached with this URL: <https://api.tembi.io/api/meta/meta_information/?country_code=FI&page_size=10&page_num=1> (remember to adjust country code, page size and page number)

**domain\_id** → Unique key for a domain. Use it to connect data from one endpoint to another

**domain\_name** → Domain name

**tld** → Domain TLD

**country\_code** → The registered country for the domain

**domain\_is\_dead** → 0=domain is active, 1=domain is dead and we couldn't connect to it at last scrape

**last\_response\_status\_code** → 200: active webshops, 4XX: webshop under construction

**last\_checked** → Last time we updated this API

**company\_numbers** → The company number(s) mentioned on the domain

**meta\_shipping\_providers** → Shipping providers mentioned in Terms & Conditions (or similar pages)

**framework** → The framework the domain is created on

**software\_system\_payment →** Payment systems found on the webshop

**software\_system\_checkout →** Software used to create the checkout like Klarna Checkout

**software\_system\_transportation\_administration** → TA-systems found on the webshop

**software\_system\_return →** Return systems found on the webshop

**software\_system\_third\_party\_logistics** → 3PL systems found on the webshop

**software\_system\_other** → Other systems found on the webshop like Mailchimp or Klaviyo

**monthly\_tech\_spend\_avg\_usd** → Our estimated technically spend for running the domain. Used to indicate the monthly activity. Can be translated as:

x < 97 = "4. small”

x >= 97 & x < 245 = "3. medium"

x >= 245 && x <= 660) = "2. bigger"

x > 661 x = "1. biggest"

**page\_rank\_top100m\_traffic\_rank** → estimated ranking of the domain (we do not use it in the frontend)

**title** → The title of the domain, indexed by the search enigne e.g. Google (The google header for the domain)

**description** → The description of the domain, indexed by the search engine e.g. Google (often below the header when searching)

**so\_me\_urls** → Link(s) to social media

**languages →** Languages found in the *hreflang* attribute of the alternate url tag

**countries →** Countries found in the *hreflang* attribute of the alternate url tag

**Return\_address →** The return address found on the website

**Contact\_email →** Email found on webshop

**Free\_shipping\_threshold →** Threshold for free delivery on the webshop

**Category\_classification →** The webshop's main category based on Tembi classification AI

**n\_products** → Number of products on the domain

**n\_categories** → Number of categories on the domain

**domain\_added\_date** → Date domain was added to the product

**Scraping\_session** → Last data update for the domain

### Checkout\_Information\_history

Checkout information about which delivery providers, delivery methods, prices etc. that are present in the checkout.

<figure><img src="/files/kqkmM4ZeybFBo4wqg9hy" alt=""><figcaption></figcaption></figure>

#### **Inpust fieds:**

<figure><img src="/files/b2Op5V2vjsXBDCe7rGlC" alt=""><figcaption></figcaption></figure>

#### **API output:**

**domain\_id** → Unique key for a domain. Use it to connect data from one endpoint to another

**domain\_name** → Domain name

**tld** → Domain TLD

**country\_code** → The registered country for the domain

**delivery\_city** → The city we use for data collection in the checkout

**delivery\_street** → The street we use for data collection in the checkout

**delivery\_postal** → The postalcode we use for data collection in the checkout

**shipping\_provider** → The shipping provider mentioned on each checkout row

**flat\_multiple\_shipping\_privders** → If we indentify multiple shipping providers on the same position, the will be listed here

**shipping\_method** → The shipping method mentioned on each checkout row

**shipping\_text** → The shipping text mentioned on each checkout row

**shipping\_priority** → The shipping priority in the checkout (0=preferred provider)

**shipping\_price** → The shipping price mentioned on each checkout row

**shipping\_currency** → The shipping currency mentioned on each checkout row

**shipping\_time\_min** → The minimum delivery time mentioned on each checkout row (e.g. delivery in **1** to 2 days)

**shipping\_time\_max** → The maximum delivery time mentioned on each checkout row (e.g. delivery in 1 to **2** days)

**shipping\_is\_green** → Do the provider mention green delivery (blank=no)

**Product\_text →** The longer text description of the product

**product\_title** → Title of the product selected for going into the checkout

**product\_price** → The price of the product selected

**product\_currency** → The currency of the product selected

**Product\_picked\_webpage** → Link to the product picked to generate the checkout

**scraping\_session** → The scraping session that the data collection is related to

**checkout\_scraping\_end** → The individual domain scraping timestamp when scraping ended

**checkout\_scraping\_id** → Id of the scraping session

**checkout\_screenshot\_url** → Link to a picture of the checkout when we collected the data

**domain\_added\_date** → Date domain was added to the product

### Financial Information

Financial information about the companies such as address, phone numers, ceo, sector code, etc. Data avialability depends on the individual market.

<figure><img src="/files/pB0lNYtYFeFlsX8SJ33Q" alt=""><figcaption></figcaption></figure>

#### **Input fields:**

<figure><img src="/files/VYF01Q52YRoMC0ryQHeO" alt=""><figcaption></figcaption></figure>

#### **API output:**

**company\_id →** Unique company ID

**company\_number** → The company number for each company detected

**country\_code** → The registered country for the domain

**name** → Company name

**foundationDate** –> Company foundation date

**email →** Company contact email

**location\_coordinates\_XCoordinate** → X coordinates of the location

**location\_coordinates\_YCoordinate** → Y coordinates of the location

**location\_county →** Company country

**location\_municipality** → Company municipality

**naceCategories\_1 →** Company industry

**numberOfEmployees →** Number of employees in the company

**personRoles\_1\_name** → key employee name

**personRoles\_1\_title** → Title of key employee

**phoneNumbers\_telephoneNumber** → Contact phone number

**postalAddress\_addressLine** → Company address

**postalAddress\_postPlace →** Company postal town

**postalAddress\_zipCode** → Company zipcode

**location\_countryPart →** Located country part

**revenue2016**

**revenue2017**

**revenue2018**

**revenue2019**

**revenue2020**

**revenue2021**

**revenue2022**

**revenue2023**

**revenue2024**

**revenue2025**

**grossprofit2016**

**grossprofit2017**

**grossprofit2018**

**grossprofit2019**

**grossprofit2020**

**grossprofit2021**

**grossprofit2022**

**grossprofit2023**

**grossprofit2024**

**grossprofit2025**

**result2016**

**result2017**

**result2018**

**result2019**

**result2020**

**result2021**

**result2022**

**result2023**

**result2024**

**result2025**

**last\_updated** → date for latest data update

### Scraping Session

Find information about scraping progress and get a unique scraping ID for each data collection.

<figure><img src="/files/T7Q2amq5S6ZMLMJhFDyR" alt=""><figcaption></figcaption></figure>

#### **Input fieds:**

<figure><img src="/files/sW7loTvUfP1wA9BUiUxE" alt=""><figcaption></figcaption></figure>

**API output:**

**Checkout\_scraping\_id** → Unique ID for each scrape. Should be used to get historical and latest checkout data

**Scraping\_session →** Time and day when scraping session was started

**day\_of\_week**

**country\_code**

**percentage\_done →** Indicate how many percentage is scraped in the session

## Webshop Size and Growth

Understand the estimated size and predicted growth for each webshop.

### Webshop\_size\_stats

<figure><img src="/files/3hhcc3P9XRiNTolIMS68" alt=""><figcaption></figcaption></figure>

#### API input:

<figure><img src="/files/954wzf9ISXzy2isUL0E5" alt=""><figcaption></figcaption></figure>

#### API output:

**Domain\_id**

**Size\_indication\_bin** → Transformation of the size score to small (0-24), medium (25 to 49), large (50 to 74) and very large (75 to 100)

**Value** → The Tembi size indication outcome where all webshops are rated from 0 to 100. Very few webshops are above 90 which is very large, and many are below 50 (smaller to medium webshops)

**impact\_labels** → List of the positive and negative reasons for how the model has generated the size score.

**last\_modified\_date →** date for latest estimation

### Webshop\_growth\_stats

<figure><img src="/files/VA3JIeQIW6nXkAMUFPdq" alt=""><figcaption></figcaption></figure>

#### API input:

<figure><img src="/files/FbPvnZFH1eagLa3yyZcn" alt=""><figcaption></figcaption></figure>

#### API output:

**Domain\_id**

**webshop\_growth\_bin** → negative, flat, low, high or very high predicted webshop growth

**impact\_labels** → List of the positive and negative reasons for how the model has generated the prediction.

**last\_modified\_date →** date for latest estimation

## Keyword monitoring

Retrieves the keyword monitoring domain group matches. The keywords are configurable on the Tembi platform. Each result contains a domain\_id with its respective group metadata.

<figure><img src="/files/ZqHUWQ79PPbV4cnRyf9o" alt=""><figcaption></figcaption></figure>

#### API input:

<figure><img src="/files/yqRn4wj6LY98o9rjTJGO" alt=""><figcaption></figcaption></figure>

#### API output:

**Domain\_id →** Id of the domain where we found the keyword

**keyword\_group**

**id**

**name** → name of the group of key words you have generated in the Tembi Platofrm

**markets →** The markets you have selected in the platform to apply the keyword to

**Created\_at** → date for when the keyword group was crated

**Created\_at** → date for when the keyword group was last updated

**first\_seen** → first time we had a successful match

## Product Insight

If you have access to the module, you can get insights about product categories, price level, brands, weight and product dimensions.

### Scraping-sessions

<figure><img src="/files/sX3Qs9WEGetZjxMhpJNE" alt=""><figcaption></figcaption></figure>

#### API output:

**scraping\_session\_id** → ID for the session where the latest data has been generated

**date** → Date for the session id

### Price-bucket-labels

<figure><img src="/files/KRz8dHeJxSoJkd1ONQM6" alt=""><figcaption></figcaption></figure>

#### API output:

**price\_group\_id** → different price groups we map products to

**name** → of the price group

**max** → minimum price level in the group

**max** → maximum price level in the group

**Currency**

**last\_modified\_date**

### Weight-bucket-labels

<figure><img src="/files/MDDmgW4gjfQ8VZcqG6vN" alt=""><figcaption></figcaption></figure>

#### API output:

**weight\_group\_id** → different price groups we map products to

**name** → of the weight group

**max** → minimum weight level in the group

**max** → maximum weight level in the group

**unit →** kg or gram

**last\_modified\_date**

### size-bucket-labels

group of dimensions we are mapping products to.

<figure><img src="/files/qHCccMzLHMvEbdXKj5gH" alt=""><figcaption></figcaption></figure>

#### API output:

**Size\_group\_id** → different dimension groups we map products to

**name** → of the size group

**height** → maximum height for the dimension group

**lenght** → maximum lenght for the dimension group

**width** → maximum width for the dimension group

**unit →** cm

**last\_modified\_date**

### product-categories

Returns all product categories that we classify to. From level 0 (all) to level 4 (detailed)

<figure><img src="/files/eOcZO2atrZMRzQar6PsF" alt=""><figcaption></figcaption></figure>

#### API output:

**Category\_id**

**parent\_id** → shows how the catgories are connected

**depth** → From level 0 (all) to level 4 (detailed). All levels can be connected to a parent

**name** → name of the category

**last\_modified\_date**

### product-brands

Return a flat list of all brands indentified across markets.

<figure><img src="/files/LROAQF2u0cN8GPMAS4wi" alt=""><figcaption></figcaption></figure>

#### API output:

**brand\_id**

**name** → name of the brand

**last\_modified\_date**

### domains-stats-latest

Provides a comprehensive snapshot of product performance for a specific domain and session. The response includes calculated averages/medians and full distribution breakdowns across price, weight, and dimension buckets.

<figure><img src="/files/Cnv0EDXyzY1cCDPfTYnP" alt=""><figcaption></figcaption></figure>

#### API input:

<figure><img src="/files/nwnpWMePm4Bryig5fl8r" alt=""><figcaption></figcaption></figure>

#### API output:

**domain\_id** → the domain you are reviweing

**category\_id**

**brand\_id**

**scraping\_session\_id**

**date**

**products** → return the number of products with the bucket's weight, price and dimension

**weight\_stats** → return the calculated weight median, average and unit

**price\_stats** → return the calculated price median, average and currency

### domains-stats-history

Return number of products historically for each domains.

<figure><img src="/files/oFc7KN2htKuGfMxQEm6g" alt=""><figcaption></figcaption></figure>

#### API input:

<figure><img src="/files/DncywB7xEsb4puPLlKoP" alt=""><figcaption></figcaption></figure>

#### API output:

**domain\_id**

**category\_id**

**brand\_id**

**scraping\_session\_id**

**date**

**products** → number of products for each of the above combinations


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tembi.gitbook.io/tembi-knowledge-base/data-overview/api-documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
