Pulsed Media Public Data Feeds
Pulsed Media publishes a set of live, public data feeds: machine-readable JSON files anyone can fetch without a key or an account. They cover the current product catalog, pricing, dedicated-server hardware specs, published customer-satisfaction scores, and live server performance per plan. Every feed lives under https://pulsedmedia.com/data/v1/, regenerates every 15 minutes (server performance hourly), and is served as a static file. Each JSON feed carries a generated_at timestamp (ISO 8601, UTC) so you can check freshness.
Start at the manifest — https://pulsedmedia.com/data/v1/index.json — which lists every endpoint that is currently live.
At a glance
| Feed | Format | Contents |
|---|---|---|
index.json |
JSON | Manifest of every live endpoint. Start here. |
products.json |
JSON | Full product catalog: id, name, description, price per billing cycle, stock, availability. |
products-summary.json |
JSON | Catalog trimmed to id, name, monthly price, stock. |
md-pricing.txt |
JSON | MiniDedi dedicated servers: full CPU/RAM/storage/bandwidth specs, pricing, and value ratios. |
csat.json |
JSON | Customer satisfaction score (0–10) over 30-day, 120-day, and since-inception windows. |
fleet-performance.json |
JSON | Live server performance per plan: users and drives per server, disk response time, disk waits, 60-day peaks. Average and median, hourly. |
eternal-campaign.json |
JSON | Eternal Väinämöinen campaign: per-tier available/sold counts and totals. |
eternal-drops.json |
JSON | Live per-tier drop odds for the campaign release engine. |
eternal-drops-audit.jsonl |
JSONL | One line per slot release. |
eternal-milestones.json |
JSON | Campaign milestone tracks and rewards. |
eternal-orders.json / .jsonl |
JSON / JSONL | Log of claimed campaign slots (pseudonymized: first name + country). |
The manifest: index.json
The manifest is the entry point. It lists every published endpoint with its size, last-modified time, and a short description, so you can discover the full live set from one request.
{
"schema_version": 1,
"generated_at": "2026-07-18T08:00:01+00:00",
"description": "Pulsed Media public data endpoints. Public-by-design. Updates every 15 min (eternal-orders every 1 min).",
"endpoints": [
{
"url": "https://pulsedmedia.com/data/v1/products.json",
"file": "products.json",
"size": 66272,
"mtime": "2026-07-18T08:00:01+00:00",
"description": "All visible WHMCS products with full schema"
}
]
}
Product catalog: products.json
products.json lists every publicly visible Pulsed Media product with its price and stock. Prices are in EUR, keyed by billing cycle.
{
"schema_version": 1,
"generated_at": "2026-07-18T08:00:01+00:00",
"currency": "EUR",
"products": [
{
"id": 197,
"name": "M1000 S",
"description": "2 000 MiB RAM, 2TB Storage, 1Gbps Download/Upload, 30 000GiB monthly traffic",
"type": "hostingaccount",
"paytype": "recurring",
"stock": 30,
"stock_managed": true,
"available": true,
"is_free": false,
"billing_cycles": { "monthly": 6.99, "annually": 79.69 }
}
]
}
products-summary.json is the same catalog trimmed to the essentials:
{
"schema_version": 1,
"generated_at": "2026-07-18T08:00:01+00:00",
"products": [
{ "id": 197, "name": "M1000 S", "monthly": 6.99, "stock": 30, "available": true }
]
}
MiniDedi hardware and pricing: md-pricing.txt
Despite the .txt extension (kept for existing consumers), this feed is JSON. It describes every MiniDedi dedicated server, keyed by product id, with full hardware specs, current pricing, and computed value ratios (performance and storage per euro). A distilled companion, md-pricing-sh.txt, carries the same data in a more compact form.
{
"servers": {
"291": {
"name": "MD1",
"cpu": { "make": "Intel", "model": "i5-7500t", "cores": 4, "threads": 4,
"clockBase": 2.7, "clockBoost": 3.3,
"performanceSingle": 1245, "performanceMulti": 3737 },
"ram": 16, "ramType": "DDR4",
"storage": { "nvmeQty": 1, "nvmeCapacity": 250, "hddQty": 0, "ssdQty": 0 },
"bandwidth": 1000, "unmetered": 1,
"stock": "0",
"model": "MD1: i5-7500t/16G/250GB NVMe",
"priceMonthly": "48.94", "priceMonthlySetup": "9.99",
"valueRatioEuroPer": { "eurosPerRamGB": 3.06, "eurosPerStorageGB": 0.2 }
}
}
}
Customer satisfaction: csat.json
The satisfaction feed publishes the average CSAT score on a 0–10 scale across three windows, each with its sample size.
{
"scale": 10,
"generated_at": "2026-07-18T03:15:02+00:00",
"windows": {
"d30": { "avg": "9.4", "n": 50, "days": 30, "label": "past 30 days" },
"d120": { "avg": "9.2", "n": 165, "days": 120, "label": "past four months" },
"since_inception":{ "avg": "9.1", "n": 188, "since": "2026-01-27" }
}
}
Server performance: fleet-performance.json
fleet-performance.json shows how Pulsed Media's servers are actually running, plan by plan: how many accounts share a server, how quickly the disks answer, how much of the week the server spent waiting on its disks, and each server's busiest reading of the last 60 days. It refreshes hourly. The same figures appear on each plan page and side by side on the live server performance comparison page, apart from the 60-day peaks: readers took those for the most a server can do, so only the feed carries them.
These are live readings of real use, not what the hardware can do. A 60-day peak of 300 MB/s means the busiest reading those servers recorded in the last 60 days reached that rate; it is not their ceiling. A quiet server shows a low peak because its users did not ask for more. None of these figures is a guarantee or an advertised limit, and the feed's own note field says so.
Each plan, and fleet for all reporting servers together, carries two values per metric: avg_, the average across that plan's servers, and median_, the server in the middle. For a typical server, read the median: one unusually busy or idle machine moves the average but not the median.
| Metric (after avg_ / median_) | Unit | Meaning |
|---|---|---|
users_per_node |
accounts | Accounts on one server. Every account type counts. |
node_size_tb |
TiB | Total disk space of one server. The unit is TiB, despite the field name. |
drives_per_node |
drives | Physical drives that hold one server's storage. For servers that run as virtual machines this counts the drives in the array behind the machine, not the virtual disks it sees. A drive that has dropped out of its array is not counted until it is back. |
service_time_ms |
ms | How long a disk read takes to complete, averaged over the past week. |
psi_io_full |
% of time | Share of the week in which every active process on the server was waiting for the disks (Linux pressure stall information, "full"). Averaged over the servers that report a non-zero value; null when fewer than three do. |
disk_util_pct |
% of time | Share of the week the disks had work to do. Time spent busy, not capacity used. |
throughput_read_mbs, throughput_write_mbs |
MB/s | Disk read and write rate in each server's busiest reading of the last 60 days. Each reading is a two-minute average, and every server is read many times a day. |
iops_read, iops_write |
operations/s | Disk operations per second in each server's busiest reading of the last 60 days. |
Plans are keyed by name: M1000, M1000-SSD, M10G (the servers Storage Boxes also run on), M10G-SSD, Dragon-R, V1000 and V10G. A plan with no recently reporting servers appears with "status": "no_recent_data" and null values. The feed publishes no server counts, totals or capacity figures.
Trimmed to one plan, without the long note text:
{
"schema_version": 2,
"generated_at": "2026-10-04T05:37:01+00:00",
"tiers": {
"M10G": {
"status": "reporting",
"avg_node_size_tb": 58.69, "avg_users_per_node": 25.4,
"avg_disk_util_pct": 10.1, "avg_service_time_ms": 15.49, "avg_psi_io_full": 11.32,
"avg_iops_read": 3492, "avg_iops_write": 1960,
"avg_throughput_read_mbs": 385, "avg_throughput_write_mbs": 144,
"median_node_size_tb": 48.11, "median_users_per_node": 27,
"median_disk_util_pct": 10.7, "median_service_time_ms": 15.31, "median_psi_io_full": 10.81,
"median_iops_read": 2494, "median_iops_write": 1179,
"median_throughput_read_mbs": 229, "median_throughput_write_mbs": 119
}
}
}
Campaign feeds (Eternal Väinämöinen)
During the Eternal Väinämöinen promotion, Pulsed Media publishes live campaign data under the same path. These feeds are tied to the active campaign and may retire when it ends; the manifest always lists whatever is currently live.
eternal-campaign.json — per-tier available/sold counts and campaign totals:
{
"schema_version": 1, "generated_at": "2026-07-18T08:00:01+00:00",
"campaign": "eternal-vainamoinen", "currency": "EUR",
"month_target": 700, "campaign_target": 4900,
"month_sold": 98, "campaign_sold": 444,
"products": { "351": { "available": 13, "sold": 10, "sold_month": 2 } }
}
eternal-drops.json — live per-tier drop odds from the release engine:
{
"schema_version": 1, "generated_at": "2026-07-18T08:10:02+00:00",
"campaign_state": "active", "cron_healthy": true, "tick_interval_seconds": 300,
"live_odds": [
{ "type": "355", "label": "Seedbox 8TB R5 10G", "open_now": 0,
"drop_chance_per_tick": 0.00167, "state": "droppable" }
]
}
eternal-drops-audit.jsonl — one JSON object per line, one per slot release:
{"ts":"2026-06-01T08:47:38+00:00","type":"351","n":7,"src":"admin"}
eternal-milestones.json — milestone tracks with the next reward:
{
"schema_version": 1, "generated_at": "2026-07-18T08:08:01+00:00",
"campaign": "eternal-vainamoinen",
"tracks": {
"claimed": { "label": "Claimed", "value": 444,
"next": { "at": 500, "reward": "A new SSD Seedbox tier opens with 15 slots ..." } }
}
}
eternal-orders.json (and its line-per-record .jsonl form) — the log of claimed slots, pseudonymized to first name and country only:
{"ordinal":1,"ts":"2026-06-01T11:55:31+00:00","firstName":"Alex","country":"FI",
"sku":"Eternal Väinämöinen - Seedbox 1TB R5 10G","term":"1mo","total":"1.99 EUR","referred":0}
Formats and freshness
- JSON feeds are objects with a
schema_versionand agenerated_attimestamp (ISO 8601, UTC). .jsonlfeeds are line-delimited JSON: one complete record per line.- Feeds refresh every 15 minutes (the order log every minute, server performance hourly); the public URL is edge-cached for a few minutes. For the freshest read, add a cache-busting query such as
?t=<unixtime>and checkgenerated_at.
Terms of use
The feeds are public by design and free to use, provided as-is. They carry no availability guarantee — they are not covered by a service-level agreement, and their contents or structure may change without notice. The order log is pseudonymized and contains no personal data beyond a first name and a country.
See also
- Pulsed Media — company overview and product catalog
- PMSS — the open-source seedbox management platform
- Seedbox — Pulsed Media's core product
- Pulsed Media Free Bonus Disk Policy — another public Pulsed Media reference page