Fetch the current list prices to estimate what a resource costs, or to show prices on your own site. The price list is public, so you need no account or access token.
Before you begin
curlto send the requests.- Optional:
jqto filter the JSON response.
Fetch the price list
-
Request the price list and include the response headers:
Terminal window curl -si https://api.origincloud.eu/v1/pricingThe example shows one family only.
Example output (illustrative):
HTTP/2 200content-type: application/jsonetag: W/"3f9a1c2b7d4e5f60"cache-control: public, max-age=300access-control-allow-origin: *last-modified: Thu, 10 Sep 2026 08:00:00 GMT{"currency":"EUR","amounts_exclude_vat":true,"last_changed":"2026-09-10T08:00:00+00:00","families":[{"family":"compute_instance","prices":[{"product_key":"compute.gp1.core.2","dimensions":{"instance_type":"gp1.core.2"},"unit_type":"seconds","unit_count":3600,"amount":"0.0250","valid_from":"2026-09-01T00:00:00+00:00","valid_until":null}]}]} -
Note the
etagvalue. You use it in the next section to check for changes without downloading the list again. -
Optional: list the prices of one family. This command prints each instance type with its price:
Terminal window curl -s https://api.origincloud.eu/v1/pricing \| jq -r '.families[]| select(.family == "compute_instance")| .prices[]| "\(.product_key) \(.amount) EUR per \(.unit_count) \(.unit_type)"'Example output (illustrative):
compute.gp1.core.2 0.0250 EUR per 3600 secondscompute.gp1.core.4 0.0500 EUR per 3600 seconds
If a family you expect is missing, it has no current price. For every field in the response, see Price list API.
Check for changes with a conditional request
-
Send the
etagvalue from your last response in anIf-None-Matchheader:Terminal window curl -si https://api.origincloud.eu/v1/pricing \-H 'If-None-Match: W/"3f9a1c2b7d4e5f60"' -
Check the status code.
304 Not Modifiedwith no body means the price list hasn’t changed, and you keep using your copy.200returns the new list with a newetag.Example output (illustrative):
HTTP/2 304etag: W/"3f9a1c2b7d4e5f60"cache-control: public, max-age=300access-control-allow-origin: *last-modified: Thu, 10 Sep 2026 08:00:00 GMT
You can reuse a fetched list for 5 minutes without asking again, as cache-control: public, max-age=300 allows. A price change can take a few minutes to appear.
Calculate a cost from a price
Every price is amount euro per unit_count of unit_type, without VAT. Divide amount by unit_count to get the price of one unit, then multiply by the units you use.
-
Calculate an hourly rate for a price in
seconds. Forcompute.gp1.core.2withamount"0.0250"andunit_count3600:0.0250 / 3600 * 3600 seconds = 0.0250 EUR per hour -
Calculate a monthly estimate by multiplying the hourly rate by the hours in the month. For 730 hours:
0.0250 EUR per hour * 730 hours = 18.25 EUR -
Calculate a storage cost for a price in
gib_hoursby multiplying the size by the hours. Forstorage.gp1withamount"0.08"andunit_count730, a 100 GiB volume kept for 730 hours costs:0.08 / 730 * (100 GiB * 730 hours) = 8.00 EUR -
Verify the result against your usage and cost reports, which use the same product keys.
Tip: Read
amountas a decimal string, not a floating-point number, to avoid rounding errors in your calculation.
Related
- Price list API – every field, family, header, and status code.
- Billing – how your organization is invoiced.