BYTETOOLS

Barter.vg API

Free games trading API with no key: per-title bundle history, giveaway counts, owner and player estimates, wishlist demand and multi-currency price highs and lows. Live example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Barter.vg API?

Barter.vg's API is a free, key-free source of Steam game metadata oriented around trading. Each title returns its bundle and giveaway history, community wishlist, library and blacklist counts, owner and player estimates, and current, highest and lowest prices in four currencies.

This is not a store API dressed up differently. The fields that dominate a Barter.vg record — `bundles_all`, `giveaway_count`, `steamgifts_cv`, `wishlist`, `library`, `blacklist`, `tradable` — describe a game's standing in the trading and bundling economy rather than its store page. If you are building anything around key trading, bundle tracking or 'has this ever been in a bundle', this is the data you actually need, and it is not available from Valve at all.

Type discipline is required. Prices are integers in minor units, so `999` is $9.99 and `price_euro: 799` is €7.99 — four currencies, each with current, high and low. Most booleans are 0/1 integers except `adultonly`, which is a real boolean. `release_date` is a Unix timestamp while `year`, `month` and `day` sit beside it as zero-padded strings. And `source_profile` contains a literal `<SKU>` token you are expected to substitute with the `sku` value to build a store link. None of this is difficult; all of it will bite a client that assumes consistency.

Quick facts

Base URL
https://barter.vg
Authentication
No key or account for the public item endpoints. Anything tied to a user's own trades or collection requires being logged in, which we did not do.
Rate limit
No rate-limit headers are returned. Barter.vg is a small community site — request sparingly, cache aggressively, and do not crawl the id space.
Pricing
Free, community-run.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Barter.vg API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch a game's bundle, giveaway and pricing history

GET https://barter.vg/i/3/json/

curl
curl 'https://barter.vg/i/3/json/'
JavaScript (fetch)
const res = await fetch("https://barter.vg/i/3/json/");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://barter.vg/i/3/json/", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "id": 3,
  "redirect": null,
  "source_id": 1,
  "source_name": "Steam",
  "source_profile": "https://store.steampowered.com/app/<SKU>/",
  "sku": 18500,
  "title": "Defense Grid: The Awakening",
  "title_locked": 0,
  "title_formatted": "Defense Grid The Awakening",
  "title_alt": "Defense Grid: The Awakening",
  "title_alt_locked": 0,
  "title_extra": null,
  "item_type": "Game",
  "item_type_locked": 0,
  "is_tradable": 1,
  "sync_with_store": 1,
  "bundles_available": 0,
  "bundles_packages": 3,
  "bundles_rebundled": 0,
  "bundles_notcounted": 0,
  "bundles_all": 2,
  "giveaway_count": 1,
  "steamgifts_cv": 15,
  "tradable": 1,
  "wishlist": 24,
  "library": 177,
  "blacklist": 16,
  "revoked": 0,
  "adultonly": false,
  "updated": 1785687301,
  "base_item_id": 0,
  "release_date": 1228694400,
  "year": "2008",
  "month": "12",
  "day": "08",
  "is_free": 0,
  "price": 999,
  "price_high": 999,
  "price_low": 249,
  "price_euro": 799,
  "price_euro_high": 799,
  "price_euro_low": 199,
  "price_ruble": 25900,
  "price_ruble_high": 25900,
  "price_ruble_low": 6200,
  "price_yuan": 3700,
  "price_yuan_high": 3700,
  "price_yuan_low": 900,
  "price_updated": 1787248741,
  "owners": 546490,
  "owners_min": 500000,
  "owners_max": 1000000,
  "owners_variance": 26062,
  "players": 435373,
  "players_variance": 23265,
  "recent_players": 2545,
  "recent_players_variance": 1882,
  "score_rank": 0,
  "player_count": 559177,
  "player_count_daily": 217,
  "player_count_weekly": 1063,
  "player_count_monthly": 2352,
  "player_count_hidden": 0,
  "user_reviews_positive": 96,

Parameters

ParameterTypeRequiredDescription
item idpath segmentRequiredBarter.vg's own internal item id, between `/i/` and `/json/`. Not the Steam appid — the Steam id is in the `sku` field. 3
formatpath segmentRequiredThe trailing `json/` segment. Without it the same path returns the HTML page. json

Response fields

idinteger
Barter.vg's internal item id — the one in the URL. Distinct from `sku`, which is the Steam appid.
skuinteger
The store's own product id. Combine it with `source_profile` to build a store link.
source_profilestring
A store URL template containing a literal `<SKU>` placeholder. Substitute `sku` into it; it is not a usable link as returned.
bundles_all / bundles_packages / bundles_availableinteger
Bundle appearance counts sliced different ways. `bundles_available` is how many are currently purchasable.
giveaway_count / steamgifts_cvinteger
Giveaway history and the SteamGifts contributor value — the two numbers trading communities actually price on.
wishlist / library / blacklistinteger
How many Barter.vg users want, own or have blacklisted the title. A demand signal you cannot get from Valve.
price / price_high / price_lowinteger
Prices in minor units — 999 means 9.99. Repeated as `price_euro`, `price_ruble` and `price_yuan` with the same convention.
release_dateinteger
Unix timestamp in seconds, while `year`, `month` and `day` sit alongside as zero-padded STRINGS. Do not cross the two.
adultonlyboolean
A genuine boolean, unlike the surrounding 0/1 integer flags such as `is_tradable` and `is_free`.
owners / players / player_count_dailyinteger
Estimated ownership and activity figures, each with a `_variance` sibling giving the confidence band.

What you can build with the Barter.vg API

  • Check whether a game has ever appeared in a bundle before buying keys
  • Build a trade-value estimator from giveaway and contributor data
  • Track wishlist-to-library ratios as a demand signal
  • Compare regional pricing across four currencies for one title
  • Show historical price lows next to a current store price

Common errors and how to fix them

An HTML page instead of JSON

The trailing `json/` path segment is missing.

Fix: The URL shape is `/i/{id}/json/` with the trailing slash. Without it you get the human-readable page.

404

That internal item id does not exist.

Fix: Ids are Barter.vg's own, not Steam appids. Resolve through the site's search rather than guessing, and never crawl the id range.

Prices a hundred times too large

Values are integers in minor units.

Fix: Divide by 100 before formatting. Every currency field follows the same convention.

A store link that 404s

`source_profile` still contains the literal `<SKU>` placeholder.

Fix: Replace `<SKU>` with the `sku` value before using the URL.

Barter.vg API — frequently asked questions

Does the Barter.vg API need an API key?

No. Public item lookups work with no key or account. Endpoints tied to a specific user's trades or collection require being logged in, but the game metadata described here does not.

Is the id in the URL a Steam appid?

No. It is Barter.vg's own internal item id. The Steam appid appears in the response as `sku`, and you combine that with the `source_profile` template to build a store link.

Why are the prices such large numbers?

They are integers in minor units, so 999 means 9.99 in that currency. It avoids floating-point rounding on money, but you have to divide by 100 yourself — and the same applies to the euro, ruble and yuan fields.

What does steamgifts_cv mean?

It is the SteamGifts contributor value for the title, a figure trading and giveaway communities use to weigh what a game is worth. It sits alongside `giveaway_count` and the bundle counters, which is the combination that makes this API useful for trading tools.

Tools that pair with this API

Barter.vg is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.