eptr2 API Discovery

VerifiedCaution

Discover and explore 213+ API endpoints for Turkish electricity market data. List API calls by category (GÖP, GİP, DGP), search endpoints, and get parameter requirements.

Sby Skills Guide Bot
Data & AIIntermediate
3/4/2026
Claude CodeCursorCodex
#api-discovery#energy-market#turkish-electricity#python-library#endpoints

Recommended for

Automated summary

This skill guides discovery of the 213+ eptr2 API endpoints for Turkish electricity market data using the Python helpers get_available_calls, get_aliases and get_help_d.

Strengths

  • Clear map of market categories (GÖP, GİP, DGP, Üretim, Tüketim, Dengesizlik, İA, Barajlar, Kurulu Güç) with example calls
  • Shows how to keyword-search endpoint help metadata in both English and Turkish
  • Documents common aliases (ptf→mcp, smf→smp) and price / quantity / plan / settlement patterns
  • Copy-ready Python snippets including EPTR2 initialization

Limitations

  • Focused on discovery only; per-endpoint parameter requirements are only reachable through get_help_d
  • Assumes authenticated eptr2 access (use_dotenv) and some familiarity with the Turkish power market
  • Listed categories and example calls may drift from what the installed library version actually returns
When to use it

Use it when you need to find which eptr2 endpoint serves a given data type (price, generation, consumption) or how to list and filter available calls.

When not to use it

Skip it if you already know the endpoint and just want to fetch and analyze data — a call-execution skill fits better.

Security analysis

Caution
Quality score88/100

The skill is documentation-focused and contains no destructive commands, obfuscated payloads, or secret-exfiltration instructions. However, it grants Python/Bash execution and may load local credentials via dotenv while accessing a network API, so it warrants caution rather than being risk-free.

Findings
  • •Frontmatter declares Bash(python:*), allowing arbitrary Python execution under the agent's permissions.
  • •Uses EPTR2(use_dotenv=True), which may load local credentials from .env for the electricity market API; there are no instructions to exfiltrate them.
How this analysis is made

Examples

List available endpoints
Using eptr2, list all available API calls and tell me how many there are, plus any aliases like ptf or smf.
Find price endpoints
Which eptr2 endpoints give price data? Search the help metadata for 'price' and 'fiyat' and show me the matches with their categories.
Browse day-ahead market calls
Show me every eptr2 endpoint in the GÖP (Day-Ahead Market) category and describe what each one returns.

name: eptr2-api-discovery description: Discover and explore available eptr2 API endpoints for Turkish electricity market data. List all 213+ API calls, find endpoints by category (GÖP, GİP, DGP, Üretim, Tüketim), search for specific data types, and get parameter requirements. Use when asking what data is available, how to find endpoints, or exploring the API. Triggers on: available endpoints, API calls, list endpoints, what data, which API, how to find, hangi veri, mevcut servisler. allowed-tools: Read, Bash(python:*)

eptr2 API Discovery Guide

Overview

This skill helps you discover and explore the 213+ API endpoints available in eptr2 for Turkish electricity market data. Use this when you need to find the right endpoint for your data needs.

Quick Start

from eptr2 import EPTR2

# Initialize
eptr = EPTR2(use_dotenv=True, recycle_tgt=True)

# List all available API calls
all_calls = eptr.get_available_calls()
print(f"Total available calls: {len(all_calls)}")
print(all_calls[:20])  # First 20 calls

Discovery Methods

1. Get All Available Calls

# List all endpoint names
calls = eptr.get_available_calls()
print(calls)

2. Get Number of Calls

# Get count of available endpoints
count = eptr.get_number_of_calls()
print(f"Available endpoints: {count}")

3. Get Aliases

# Some endpoints have shorthand aliases
aliases = eptr.get_aliases()
print(aliases)
# Example: 'ptf' is alias for 'mcp', 'smf' is alias for 'smp'

4. Get Help for Specific Call

from eptr2.mapping.help import get_help_d

# Get detailed info about an endpoint
help_info = get_help_d("mcp")
print(f"Category: {help_info['category']}")
print(f"Title (EN): {help_info['title']['en']}")
print(f"Title (TR): {help_info['title']['tr']}")
print(f"Description: {help_info['desc']['en']}")
print(f"URL: {help_info['url']}")

API Categories

| Category | Turkish | Description | Example Calls | |----------|---------|-------------|---------------| | GÖP | Gün Öncesi Piyasası | Day-Ahead Market | mcp, dam-clearing, dam-volume | | GİP | Gün İçi Piyasası | Intraday Market | wap, idm-qty, idm-log | | DGP | Dengeleme Güç Piyasası | Balancing Power Market | smp, bpm-up, bpm-down | | Üretim | Üretim | Generation | rt-generation, uevm, dpp | | Tüketim | Tüketim | Consumption | rt-cons, uecm, load-plan | | Dengesizlik | Dengesizlik | Imbalance | imbalance-price, imb-qty, imb-vol | | İA | İkili Anlaşmalar | Bilateral Contracts | bi-long, bi-short | | Barajlar | Barajlar | Dams/Reservoirs | dams-daily-level, dams-active-fullness | | Kurulu Güç | Kurulu Güç | Installed Capacity | installed-capacity, lic-pp-list |

Common Endpoint Patterns

Price Data

  • mcp / ptf - Market Clearing Price
  • smp / smf - System Marginal Price
  • wap - Weighted Average Price (IDM)
  • imbalance-price - Imbalance prices

Quantity Data

  • rt-generation - Real-time generation
  • rt-cons - Real-time consumption
  • dam-clearing - DAM cleared quantity
  • idm-qty - IDM matched quantity

Plan Data

  • load-plan - Demand forecast
  • dpp / kgup - Daily production plan
  • kudup - Settlement production plan

Settlement Data

  • uevm - Settlement generation
  • uecm - Settlement consumption

Finding the Right Endpoint

Search by Keyword

from eptr2.mapping.help import get_help_d

# Get all help entries
all_help = get_help_d()

# Search for keywords
keyword = "price"  # or "fiyat" for Turkish
matches = {
    k: v for k, v in all_help.items()
    if keyword.lower() in v['title']['en'].lower()
    or keyword.lower() in v['desc']['en'].lower()
}

for call, info in matches.items():
    print(f"{call}: {info['title']['en']}")

List by Category

all_help = get_help_d()

# Filter by category
category = "GÖP"  # Day-Ahead Market
gop_calls = {
    k: v for k, v in all_help.items()
    if v['category'] == category
}

print(f"GÖP (Day-Ahead Market) endpoints:")
for call, info in gop_calls.items():
    print(f"  {call}: {info['title']['en']}")

Parameter Requirements

Get Required Parameters

from eptr2.mapping.parameters import get_required_parameters, get_optional_parameters

# Check what parameters an endpoint needs
required = get_required_parameters("mcp")
optional = get_optional_parameters("mcp")

print(f"Required: {required}")
print(f"Optional: {optional}")

Common Parameters

| Parameter | Type | Description | |-----------|------|-------------| | start_date | str | Start date (YYYY-MM-DD) | | end_date | str | End date (YYYY-MM-DD) | | org_id | int/str | Organization ID | | pp_id | int/str | Power plant ID | | uevcb_id | int/str | Production unit ID |

Quick Reference Tables

Most Used Price Endpoints

| Call | Description | |------|-------------| | mcp | Market Clearing Price | | smp | System Marginal Price | | wap | IDM Weighted Average Price | | imbalance-price | Imbalance prices | | mcp-smp-imb | Combined MCP, SMP, Imbalance |

Most Used Quantity Endpoints

| Call | Description | |------|-------------| | rt-generation | Real-time generation by type | | rt-cons | Real-time consumption | | load-plan | Demand forecast | | dam-clearing | DAM cleared volume | | idm-qty | IDM matched volume |

Production Plan Endpoints

| Call | Description | |------|-------------| | dpp / kgup | Daily Production Plan (KGÜP) | | kgup-v1 | KGUP Version 1 | | kudup | Settlement Production Plan | | uevm | Settlement Generation (UEVM) |

For More Details

  • See endpoint-categories.md for complete category listings
  • Run the helper script in scripts/list_endpoints.py for interactive discovery

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/eptr2-api-discovery-mmbizjs4/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/eptr2-api-discovery-mmbizjs4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/eptr2-api-discovery-mmbizjs4/download' --output '.skill-downloads/eptr2-api-discovery-mmbizjs4/SKILL.md.part' && mv '.skill-downloads/eptr2-api-discovery-mmbizjs4/SKILL.md.part' '.skill-downloads/eptr2-api-discovery-mmbizjs4/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/eptr2-api-discovery-mmbizjs4/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills