Find an API

Search public APIs with auth details & Postman guides

← All APIs

Pricing Hub

vtex · Company

Company No Auth Free & Open API

> This feature is in closed beta, available only for selected customers. If you have any questions, contact our [Support](https://support.vtex.com/hc/en-us/requests). In the B2B scenario, it is common for stores to have personalized prices per customer and complex pricing systems that require external integrations. Pricing Hub is a system developed for the B2B context that works as an intermediary between VTEX and external pricing systems. In VTEX, B2B stores have the option to use our

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST Get Prices

This route retrieves and applies prices for the items that are passed in the request. Pricing Hub will select the pricing method that will be used for each item and will fetch their respective price from the selected pricing method. >ℹ️ > This feature is in closed beta, available only for select

https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices?accountName=apiexamples

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Accept application/json
Content-Type application/json
X-VTEX-API-AppKey {{X-VTEX-API-AppKey}}
X-VTEX-API-AppToken {{X-VTEX-API-AppToken}}
curl -X POST "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices?accountName=apiexamples" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}" \
  -H "X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}"
import requests
params = {
    "accountName": "apiexamples"
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "X-VTEX-API-AppKey": "{{X-VTEX-API-AppKey}}",
    "X-VTEX-API-AppToken": "{{X-VTEX-API-AppToken}}"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices');
url.searchParams.set('accountName', 'apiexamples');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'X-VTEX-API-AppKey': '{{X-VTEX-API-AppKey}}',
    'X-VTEX-API-AppToken': '{{X-VTEX-API-AppToken}}'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices")
	q := baseURL.Query()
	q.Set("accountName", "apiexamples")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("Accept", "application/json")
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("X-VTEX-API-AppKey", "{{X-VTEX-API-AppKey}}")
	req.Header.Set("X-VTEX-API-AppToken", "{{X-VTEX-API-AppToken}}")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices")
uri.query = URI.encode_www_form({
  "accountName" => "apiexamples"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["Accept"] = "application/json"
req["Content-Type"] = "application/json"
req["X-VTEX-API-AppKey"] = "{{X-VTEX-API-AppKey}}"
req["X-VTEX-API-AppToken"] = "{{X-VTEX-API-AppToken}}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/api/pricing-hub/prices?" . http_build_query([
    "accountName" => "apiexamples"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "Accept: application/json",
        "Content-Type: application/json",
        "X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}",
        "X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
PUT Configure External Price Source

This route facilitates setting up an external price source in Pricing Hub. It also allows you to activate or deactivate that source in a given account. >ℹ️ This feature is in closed beta, available only for selected customers. If you have any questions, contact our [Support](https://support.vtex

https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config?an=apiexamples

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Accept application/json
Content-Type application/json
X-VTEX-API-AppKey {{X-VTEX-API-AppKey}}
X-VTEX-API-AppToken {{X-VTEX-API-AppToken}}
curl -X PUT "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config?an=apiexamples" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}" \
  -H "X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}"
import requests
params = {
    "an": "apiexamples"
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "X-VTEX-API-AppKey": "{{X-VTEX-API-AppKey}}",
    "X-VTEX-API-AppToken": "{{X-VTEX-API-AppToken}}"
}
response = requests.put(
    "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config');
url.searchParams.set('an', 'apiexamples');

const response = await fetch(url, {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'X-VTEX-API-AppKey': '{{X-VTEX-API-AppKey}}',
    'X-VTEX-API-AppToken': '{{X-VTEX-API-AppToken}}'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config")
	q := baseURL.Query()
	q.Set("an", "apiexamples")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("PUT", targetURL, nil)
	req.Header.Set("Accept", "application/json")
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("X-VTEX-API-AppKey", "{{X-VTEX-API-AppKey}}")
	req.Header.Set("X-VTEX-API-AppToken", "{{X-VTEX-API-AppToken}}")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config")
uri.query = URI.encode_www_form({
  "an" => "apiexamples"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Put.new(uri)
req["Accept"] = "application/json"
req["Content-Type"] = "application/json"
req["X-VTEX-API-AppKey"] = "{{X-VTEX-API-AppKey}}"
req["X-VTEX-API-AppToken"] = "{{X-VTEX-API-AppToken}}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/vtex.local/Pricing-Hub/1.0/config?" . http_build_query([
    "an" => "apiexamples"
]);
$opts = ["http" => [
    "method" => "PUT",
    "header" => implode("\r\n", [
        "Accept: application/json",
        "Content-Type: application/json",
        "X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}",
        "X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Pricing Hub?

Pricing Hub is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Pricing Hub is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗