> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.isoview.io/llms.txt.
> For full documentation content, see https://docs.isoview.io/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.isoview.io/_mcp/server.

# List Gas Hubs

GET /v1/gas/list

Retrieve metadata for all supported natural gas trading hubs and pricing regions.

**Access:** Requires `core` subscription level.

Reference: https://docs.isoview.io/api-reference/isoview-api/gas/list-hubs-gas-list-get

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: openapi
  version: 1.0.0
paths:
  /gas/list:
    get:
      operationId: list-hubs-gas-list-get
      summary: List Gas Hubs
      description: >-
        Retrieve metadata for all supported natural gas trading hubs and pricing
        regions.


        **Access:** Requires `core` subscription level.
      tags:
        - subpackage_gas
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GasHubResponse'
servers:
  - url: /v1
components:
  schemas:
    GasHubResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the natural gas hub or pricing point.
        name:
          type: string
          description: Human-readable name of the gas trading hub or pricing region.
        timezone:
          type: string
          format: zoneinfo
          description: >-
            IANA timezone identifier for the hub's local time (e.g.,
            'America/New_York'). Used for converting UTC timestamps to local
            time.
        point:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            GeoJSON Point geometry representing the hub's geographic location.
            Contains 'type' (always 'Point') and 'coordinates' ([longitude,
            latitude]).
      required:
        - id
        - name
        - timezone
        - point
      description: >-
        Metadata for a natural gas trading hub or pricing region.


        Natural gas hubs are key market locations where gas is traded and
        priced. Each hub

        has associated geographic coordinates and timezone information for price
        forecasting.
      title: GasHubResponse
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Can also be provided in the api_key query
        parameter.

```

## SDK Code Examples

```python
import requests

url = "https://v1/gas/list"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://v1/gas/list';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://v1/gas/list"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://v1/gas/list")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://v1/gas/list")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://v1/gas/list');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://v1/gas/list");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://v1/gas/list")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```