Skip to main content
Costory pulls costs from the Elastic Cloud Billing API using your Organization ID and an Elastic Cloud Organization API key. Data is normalized into so you can explore Elastic spend next to AWS, GCP, Azure, and other billing datasources. After setup, Elastic Cloud costs behave like other billing data in Cost Explorer: same filters, breakdowns, and saved views. The sections below describe grain (what one row represents) and which dimensions you can rely on so you know how far you can slice Elastic spend before you connect.
Open Costory and go to Billing > Import new billing datasource > Elastic Cloud. The stepper guides you through each field.
  1. In the Elastic Cloud Console, open your organization and copy the Organization ID (you need it for the Costory form).
Elastic Cloud console showing organization ID and API key management
  1. Create an Elastic Cloud Organization API key with access to billing scope. Only organization owners can create these keys. See Elastic Cloud API keys.
  2. In Costory, enter a datasource name, paste the API key and Organization ID, then submit. Validation calls the Billing API to confirm access.
  3. Start Date is optional. Use it to narrow the first sync window or cap the range Costory ingests. If you leave them empty, Costory uses its default initial backfill (see Historical data).
On first sync, Costory backfills approximately 6 months of historical billing data (one day at a time). Incremental syncs then keep data current.

Data in Costory

Elastic sends one daily snapshot per Elastic Cloud project; Costory expands each project’s product_line_items so that one billing row is one product line for that project and usage day (not a single rolled-up row per project per day). Dimensions and usage fields Each row below is a Standard Column (in Cost Explorer and breakdowns). Exports and advanced queries use the same names with a cos_ prefix (for example cos_service_name for Service name, cos_consumed_quantity for Consumed quantity).
Standard ColumnFilled from ElasticExample
ProviderFixed for this datasource.Elastic Cloud
Billing account idElastic project id.e9cc2fb04b35414690b77a3b2c593602
Sub account idElastic project name.My Elasticsearch project
Resource idSame as Billing account id (project id).e9cc2fb04b35414690b77a3b2c593602
Resource nameSame as Sub account id (project name).My Elasticsearch project
Service nameFull Elastic product line label for that billing line.Elasticsearch - General Purpose - Search VCU (GCP us-central1)
SKU IDElastic product line sku code.elasticsearch.general-purpose-search-vcu_gcp-us-central1
SKU DescriptionSame long label as Service name on that line.Elasticsearch - General Purpose - Search VCU (GCP us-central1)
Region / Region idParsed from the SKU when Elastic adds a cloud/region suffix.gcp-us-central1 when the SKU ends with _gcp-us-central1; support lines may leave region empty.
CategoryElastic line type (usage vs support, workload shape).VCU, Search AI Lake, or support
Consumed quantityquantity.value on the product line.0.0016008
Consumed unitunit on the product line (often matches Category for VCU lines).VCU
Pricing quantitySame value as Consumed quantity for this datasource.0.0016008
Pricing unitSame value as Consumed unit for this datasource.VCU
Examples: Service name, SKU ID, and Category on the same billing line These are illustrative values Elastic may return; your org’s strings can differ.
  • Search VCU (regional usage)
    • Service name / SKU Description: Elasticsearch - General Purpose - Search VCU (GCP us-central1)
    • SKU ID: elasticsearch.general-purpose-search-vcu_gcp-us-central1
    • Category: VCU
    • Consumed quantity / Pricing quantity: 0.0016008
    • Consumed unit / Pricing unit: VCU
  • Retained storage
    • Service name / SKU Description: Elastic’s full label for that storage line (same style as other product lines).
    • SKU ID: elasticsearch.retained_gcp-us-central1
    • Category: Depends on Elastic’s type for that line (for example storage-related).
  • Support (often zero rate)
    • Service name / SKU Description: Elastic’s label for the support tier.
    • SKU ID: serverless.support-tier1
    • Category: support

API reference

Costory calls Elastic’s instance costs endpoint (see Get costs for instances): GET https://cloud.elastic.co/api/v2/billing/organizations/{organization_id}/costs/instances Authentication uses an API key in the Authorization header. See Elastic Cloud API keys and the Elastic Cloud Billing API for details.

Field reference

FieldRequiredDescription
API keyYesElastic Cloud Organization API key with Billing API access. Stored securely by Costory.
Organization IDYesIdentifier of your Elastic Cloud organization.
Start DateNoOptional start of the range for the initial sync (ISO 8601).
End DateNoOptional end of the sync range (ISO 8601).

Historical data

What Costory includes
  • Product-line-level costs for Elastic Cloud projects in your organization: each row is a project × usage day × product line (see Data in Costory).
  • Deployments Elastic bills through the org (for example Elasticsearch and other Elastic Cloud project types returned by the API).
  • SKUs and service names from Elastic’s billing lines, plus region when Elastic encodes it on the SKU.
  • ECU context as labels on each line, and USD amounts aligned with Elastic line quantity × rate.

Billing Data overview

All supported billing providers and shared setup concepts.

Cost Explorer

Explore Elastic Cloud costs with the rest of your stack.

Standard Columns

Per-column Elastic mapping (open the Elastic Cloud tab in each section).

Virtual Dimensions

Map Elastic lines and labels to teams or products.
Last modified on April 10, 2026