When given a choice, companies prefer to set prices based on a percentage of the value that they create. In advertising, auctions dictate the market value of each placement. So, even if the cost of displaying two advertisements is the same, a company can charge for them differently (e.g. AdWords).
But, pricing often needs to be more standardized, so companies charge percent markups (e.g. distributors) or flat fees. With B2B businesses, rates can typically vary from relationship to relationship.
Unfortunately, that doesn't work well for SaaS companies who sell APIs. Most start by offering a single price and later institute tiered pricing or bulk discounts. But, it's difficult to know how much value their API is creating because customers don't always share what they're using the data for. As a result, their pricing is likely leaving value on the table.