### Install Go SDK Source: https://tickatlas.com/docs/sdks Install the TickAtlas Go SDK using go get. ```bash go get github.com/abuzant/tickatlas-sdk/go ``` -------------------------------- ### Install PHP SDK Source: https://tickatlas.com/docs/sdks Install the TickAtlas PHP SDK using composer. ```bash composer require tickatlas/php-sdk ``` -------------------------------- ### Install MCP Server Source: https://tickatlas.com/docs/sdks Installs the TickAtlas MCP server via pip. ```bash pip install "git+https://github.com/abuzant/tickatlas-skills.git#subdirectory=mcp-server" ``` -------------------------------- ### Install Python SDK Source: https://tickatlas.com/docs/sdks Install the TickAtlas Python package using pip. ```bash pip install tickatlas ``` -------------------------------- ### Install JavaScript/TypeScript SDK Source: https://tickatlas.com/docs/sdks Install the TickAtlas JavaScript/TypeScript package using npm. ```bash npm install tickatlas ``` -------------------------------- ### Shell Agent CLI Usage Source: https://tickatlas.com/docs/sdks Example commands for using the zero-dependency CLI with shell-capable AI agents. ```bash # Zero-dependency CLI — works in any shell-capable agent (Codex, CI, etc.) export TICKATLAS_API_KEY=tk_your_key_here python scripts/tickatlas_cli.py quote EURUSD python scripts/tickatlas_cli.py summary EURUSD H1 python scripts/tickatlas_cli.py screener RSI_14 --max-val 30 ``` -------------------------------- ### PHP Quickstart Source: https://tickatlas.com/docs/sdks Initializes the TickAtlas client and retrieves indicator and summary data. Requires PHP 8.1+ and the Composer package. ```php getIndicator('EURUSD', 'RSI_14', ['timeframe' => 'H1']); echo "RSI: {$rsi->value} ({$rsi->signal})\n"; $summary = $client->getSummary('EURUSD', 'H1'); echo "Bias: {$summary->bias} @ {$summary->confidence}\n"; ``` -------------------------------- ### Test API with cURL Source: https://tickatlas.com/docs/integrations/zapier Verify your API key and setup by running this cURL command in your terminal before configuring Zapier. ```bash # Test your setup with cURL first curl -X GET \ "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=RSI_14&timeframe=H1" \ -H "X-API-Key: YOUR_API_KEY" ``` -------------------------------- ### Configure Webhooks by Zapier GET Request Source: https://tickatlas.com/docs/integrations/zapier Configuration details for the Webhooks by Zapier GET action to retrieve specific indicator data. ```text // Zapier Step — "Webhooks by Zapier" → GET // ───────────────────────────────────────── // Method: GET // URL: https://tickatlas.com/v1/indicator // // Headers: // X-API-Key: // // Query String Parameters: // symbol=EURUSD // indicator=RSI_14 // timeframe=H1 // // Response (available to downstream steps): // {{value}} → 68.42 // {{signal}} → neutral // {{symbol}} → EURUSD ``` -------------------------------- ### Retrieve calendar events using cURL Source: https://tickatlas.com/docs/calendar Examples of GET requests to the calendar endpoint using various query parameters for impact, time windows, and currency filtering. ```bash # Upcoming — high-impact events in the next 24 hours curl -X GET "https://tickatlas.com/v1/calendar?impact=high&next_hours=24&offset=0&limit=100" \ -H "X-API-Key: YOUR_API_KEY" # Just released — events from the last 48 hours WITH their actuals (max prev_hours=96) curl -X GET "https://tickatlas.com/v1/calendar?prev_hours=48&impact=high&limit=100" \ -H "X-API-Key: YOUR_API_KEY" # Filter by currency curl -X GET "https://tickatlas.com/v1/calendar?currencies=USD,EUR&next_hours=48&offset=0&limit=100" \ -H "X-API-Key: YOUR_API_KEY" # All events this week (168 hours) curl -X GET "https://tickatlas.com/v1/calendar?next_hours=168&offset=0&limit=100" \ -H "X-API-Key: YOUR_API_KEY" ``` -------------------------------- ### Python Synchronous Client Quickstart Source: https://tickatlas.com/docs/sdks Demonstrates initializing the TickAtlas client and performing indicator lookups, summary retrieval, and market screening. Requires Python 3.9+ and reads the TICKATLAS_API_KEY environment variable. ```python from tickatlas import TickAtlas # Reads the TICKATLAS_API_KEY environment variable (or pass api_key=...) client = TickAtlas() # Single indicator rsi = client.get_indicator("EURUSD", "RSI_14", timeframe="H1") print(rsi.value, rsi.signal) # Market-bias summary across all 42 indicators summary = client.get_summary("EURUSD", timeframe="H1") print(summary.bias, summary.confidence) # Screen the majors for oversold RSI hits = client.screen("RSI_14", max_val=30, timeframe="H1") for r in hits.results: print(r.symbol, r.value) ``` -------------------------------- ### Example API response Source: https://tickatlas.com/docs/quickstart A sample JSON response returned by the API, including indicator values and server timestamps. ```json { "success": true, "data": { "symbol": "EURUSD", "timeframe": "H1", "indicator": "RSI_14", "value": 58.43, "bid": 1.08432, "ask": 1.08445, "updated_at": 1711548000, "server_time": "2026.03.21 14:00:00" } } ``` -------------------------------- ### Test API with cURL Source: https://tickatlas.com/docs/integrations/n8n Verify your API key functionality before configuring n8n by executing this GET request. ```bash # Test your key before setting up n8n curl -X GET \ "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=RSI_14&timeframe=H1" \ -H "X-API-Key: YOUR_API_KEY" ``` -------------------------------- ### Go Client Initialization and Indicator Query Source: https://tickatlas.com/docs/sdks Demonstrates client setup and fetching RSI indicator data using context and functional options. Requires Go 1.21+. ```go package main import ( "context" "fmt" "log" tickatlas "github.com/abuzant/tickatlas-sdk/go" ) func main() { client, err := tickatlas.NewClient() // reads TICKATLAS_API_KEY if err != nil { log.Fatal(err) } rsi, err := client.Indicator(context.Background(), "EURUSD", tickatlas.RSI14, &tickatlas.IndicatorParams{Timeframe: tickatlas.TimeframeH1}) if err != nil { log.Fatal(err) } if rsi.Value != nil { fmt.Printf("RSI(14) = %.2f\n", *rsi.Value) } } ``` -------------------------------- ### Fetch All Indicators with GET /v1/indicators Source: https://tickatlas.com/docs/integrations/zapier Use the plural endpoint to retrieve all 42 indicators in a single API call. ```text // GET /v1/indicators (plural) — all 42 at once // ───────────────────────────────────────────── // URL: https://tickatlas.com/v1/indicators // Params: symbol=EURUSD&timeframe=H1 // // Returns all 42 indicators as nested fields: // {{RSI_14.value}} → 68.42 // {{MACD.value}} → 0.0012 // {{BB_upper.value}} → 1.0890 // ... and 39 more ``` -------------------------------- ### JavaScript/TypeScript Client Quickstart Source: https://tickatlas.com/docs/sdks Initializes the TickAtlas client for Node.js or browser environments. Demonstrates fetching indicators, heatmaps, and multiple quotes using the TypeScript-native API. ```typescript import { TickAtlas } from "tickatlas"; // Reads process.env.TICKATLAS_API_KEY (or pass { apiKey }) const client = new TickAtlas(); const rsi = await client.getIndicator("EURUSD", "RSI_14", { timeframe: "H1" }); console.log(rsi.value, rsi.signal); const heatmap = await client.getHeatmap({ type: "strength", timeframe: "H4" }); console.log("Strongest:", heatmap.strongest, "Weakest:", heatmap.weakest); const quotes = await client.getQuotes(["EURUSD", "GBPUSD", "XAUUSD"]); console.log(quotes.count, quotes.quotes); ``` -------------------------------- ### WebSocket Authentication Example Source: https://tickatlas.com/docs/troubleshooting Demonstrates the required authentication handshake by sending a JSON auth message immediately after establishing a WebSocket connection. ```python import json import websockets async def connect(): uri = "wss://tickatlas.com/ws" async with websockets.connect(uri) as ws: # Send auth message immediately after connecting await ws.send(json.dumps({ "type": "auth", "api_key": "YOUR_API_KEY" })) auth_response = json.loads(await ws.recv()) if auth_response.get("type") != "auth_success": raise Exception(f"Auth failed: {auth_response}") # Subscribe to symbols await ws.send(json.dumps({ "type": "subscribe", "symbols": ["EURUSD", "XAUUSD"] })) async for message in ws: data = json.loads(message) print(data) ``` -------------------------------- ### Rate Limit Response Headers Source: https://tickatlas.com/docs/rate-limits Example response headers showing current rate limit usage. Includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-RateLimit-Window. ```http X-RateLimit-Limit: 300 X-RateLimit-Remaining: 287 X-RateLimit-Reset: 1711029660 X-RateLimit-Window: 60 ``` -------------------------------- ### GET /v1/symbols Source: https://tickatlas.com/docs Retrieves available instruments. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/symbols ### Description Retrieves available instruments. ### Method GET ### Endpoint /v1/symbols ### Parameters #### Query Parameters - **type** (string) - Optional - Instrument type (e.g., forex). ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/symbols?type=forex" ### Response #### Success Response (200) - **symbols** (array) - Array of available symbols. #### Response Example { "symbols": ["EURUSD", "GBPUSD"] } ``` -------------------------------- ### Example Calendar API Response Source: https://tickatlas.com/docs/calendar A sample 200 OK response showing the structure of events, including fields like id, datetime, currency, impact, forecast, previous, and actual. ```json { "success": true, "data": { "events": [ { "id": "nfp-20260807", "datetime": "2026-08-07T12:30:00+00:00", "currency": "USD", "event": "Non-Farm Payrolls", "impact": "high", "forecast": "185K", "previous": "151K", "actual": "203K" }, { "id": "cpi-20260812", "datetime": "2026-08-12T12:30:00+00:00", "currency": "USD", "event": "CPI m/m", "impact": "high", "forecast": "0.2%", "previous": "0.3%", "actual": null } ], "count": 2, "range": { "from": "2026-08-07T00:00:00", "to": "2026-08-14T00:00:00" }, "pagination": { "offset": 0, "limit": 100, "total": 2, "has_more": false } } } ``` -------------------------------- ### GET /v1/multi Source: https://tickatlas.com/docs Retrieves data for multiple symbols in a batch. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/multi ### Description Retrieves data for multiple symbols in a batch. ### Method GET ### Endpoint /v1/multi ### Parameters #### Query Parameters - **symbols** (string) - Required - Comma-separated list of symbols. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/multi?symbols=EURUSD,GBPUSD" ### Response #### Success Response (200) - **data** (object) - Object containing data for each symbol. #### Response Example { "data": { "EURUSD": {}, "GBPUSD": {} } } ``` -------------------------------- ### GET /v1/summary Source: https://tickatlas.com/docs Provides AI market analysis for a symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/summary ### Description Provides AI market analysis for a symbol. ### Method GET ### Endpoint /v1/summary ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/summary?symbol=EURUSD" ### Response #### Success Response (200) - **summary** (string) - AI-generated market analysis. #### Response Example { "summary": "The market is trending bullish." } ``` -------------------------------- ### cURL request with X-API-Key header Source: https://tickatlas.com/docs/authentication Example cURL command that sends an authenticated request to the TickAtlas API. Replace the API key with your own live key. ```bash curl -H "X-API-Key: tk_live_xxxxxxxxxxxx" \ "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=RSI_14&timeframe=H1" ``` -------------------------------- ### Retrieve calendar events using Python Source: https://tickatlas.com/docs/calendar A helper function to fetch events from the API and examples for processing upcoming and recently released events. ```python import requests API_KEY = "YOUR_API_KEY" BASE_URL = "https://tickatlas.com/v1/calendar" # Events are under data.events; pagination + range under data too. def get_events(**params): r = requests.get(BASE_URL, headers={"X-API-Key": API_KEY}, params=params) return r.json()["data"]["events"] # Upcoming: high-impact events in the next 24 hours upcoming = get_events(impact="high", next_hours=24) for e in upcoming: print(f"{e['datetime']} | {e['currency']} | {e['event']} | Impact: {e['impact']}") # Just released: what came out in the last 48 hours, WITH actuals (Starter+). # prev_hours is a rolling backward window (max 96h), newest-first. released = get_events(prev_hours=48, impact="high") for e in released: if e["actual"] is not None: print(f"{e['event']}: actual {e['actual']} vs forecast {e['forecast']}") ``` -------------------------------- ### GET /v1/quote Source: https://tickatlas.com/docs Retrieves live bid/ask prices for a symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/quote ### Description Retrieves live bid/ask prices for a symbol. ### Method GET ### Endpoint /v1/quote ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/quote?symbol=EURUSD" ### Response #### Success Response (200) - **bid** (number) - Current bid price. - **ask** (number) - Current ask price. #### Response Example { "bid": 1.1, "ask": 1.1005 } ``` -------------------------------- ### Error Handling in Python Source: https://tickatlas.com/docs/errors Example implementation of an API request function in Python that handles retries for rate limits and server errors. ```python import requests import time def api_request(endpoint, params, max_retries=3): url = f"https://tickatlas.com/v1/{endpoint}" headers = {"X-API-Key": "YOUR_API_KEY"} for attempt in range(max_retries): response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() elif response.status_code == 429: retry_after = int(response.headers.get("Retry-After", 60)) print(f"Rate limited. Retrying in {retry_after}s...") time.sleep(retry_after) elif response.status_code >= 500: wait = 2 ** attempt # Exponential backoff print(f"Server error {response.status_code}. Retrying in {wait}s...") time.sleep(wait) else: error = response.json()["error"] raise Exception(f"API Error {error['code']}: {error['message']}") raise Exception("Max retries exceeded") ``` -------------------------------- ### GET /v1/screener Source: https://tickatlas.com/docs Performs market screening based on criteria. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/screener ### Description Performs market screening based on criteria. ### Method GET ### Endpoint /v1/screener ### Parameters #### Query Parameters - **criteria** (string) - Required - Screening criteria. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/screener?criteria=trending" ### Response #### Success Response (200) - **results** (array) - Array of matching symbols. #### Response Example { "results": ["EURUSD", "GBPUSD"] } ``` -------------------------------- ### GET /v1/heatmap Source: https://tickatlas.com/docs Retrieves currency strength heatmap data. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/heatmap ### Description Retrieves currency strength heatmap data. ### Method GET ### Endpoint /v1/heatmap ### Parameters #### Query Parameters - **base** (string) - Optional - Base currency for the heatmap. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/heatmap?base=USD" ### Response #### Success Response (200) - **heatmap** (object) - Currency strength data. #### Response Example { "heatmap": { "EUR": 0.5, "USD": 0.8 } } ``` -------------------------------- ### GET /v1/calendar Source: https://tickatlas.com/docs/calendar Retrieves upcoming scheduled economic events with optional filtering. Requires an X-API-Key header. Supports date range, impact, currency, search, and pagination parameters. ```APIDOC ## GET /v1/calendar ### Description Retrieves upcoming scheduled economic events with optional filtering. Requires an X-API-Key header. Supports date range, impact, currency, search, and pagination parameters. ### Method GET ### Endpoint https://tickatlas.com/v1/calendar ### Parameters #### Query Parameters - **from** (string) - Optional - Start date, ISO 8601 or `YYYY-MM-DD`. Default is today. Ignored when `next_hours`/`prev_hours` is set. - **to** (string) - Optional - End date. Default is +7 days. Maximum 30-day range from `from`. - **next_hours** (integer) - Optional - Look-ahead window in hours (1–720, i.e. up to 30 days). Overrides `from`/`to`. A wide window spans several pages — follow `pagination.has_more` and use `offset` to read its far end. - **prev_hours** (integer) - Optional - Look-back window in hours (1–96) — returns recently released events with their `actual` values (Starter+). Overrides `from`/`to`; combine with `next_hours` to straddle now. Values above 96 return `422`. - **impact** (string) - Optional - Filter by impact: `low`, `medium`, `high`, or omit for all. - **currencies** (string) - Optional - Comma-separated currency codes: `USD,EUR,GBP` - **country** (string) - Optional - Alias for `currencies` (same comma-separated codes). - **q** (string) - Optional - Search event titles, case-insensitive substring (max 100 chars). - **offset** (integer) - Optional - Number of results to skip for pagination. Default is 0. - **limit** (integer) - Optional - Max events to return (1-500). Default is 100. ### Response #### Success Response (200) Returns upcoming scheduled events with optional filtering. The response includes pagination information (`pagination.has_more`) and event details such as impact ratings, forecasts, previous readings, and actuals. #### Error Responses - **422** - Returned when `prev_hours` is above 96. ``` -------------------------------- ### GET /calendar/events Source: https://tickatlas.com/docs/calendar Retrieves a list of economic calendar events. The response includes event details such as id, datetime, currency, event name, impact, forecast, previous, and actual values. Access to the actual field is restricted based on plan tier. ```APIDOC ## GET /calendar/events ### Description Retrieves a list of economic calendar events. The response includes event details such as id, datetime, currency, event name, impact, forecast, previous, and actual values. Access to the actual field is restricted based on plan tier. ### Method GET ### Endpoint /calendar/events ### Response #### Success Response (200) - **success** (boolean) - Indicates the request was successful. - **data** (object) - Contains the events and metadata. - **events** (array) - List of event objects. - **id** (string) - Stable event identifier. - **datetime** (string) - ISO 8601 UTC timestamp of the event release. - **currency** (string) - Affected currency (USD, EUR, GBP, JPY, etc.). - **event** (string) - Full event name. - **impact** (string) - Event market impact: low, medium, or high. - **forecast** (string) - Analyst consensus forecast (may include units). - **previous** (string) - Prior period reading. - **actual** (string or null) - The released figure, populated the moment it prints. Starter+ feature. Free and trial keys cannot call this endpoint (403 PLAN_UPGRADE_REQUIRED). PAYG and Tool keys receive null. Starter and above see the released value, null until the event prints. - **count** (integer) - Number of events returned. - **range** (object) - Date range of the events. - **from** (string) - Start date. - **to** (string) - End date. - **pagination** (object) - Pagination metadata. - **offset** (integer) - Offset for pagination. - **limit** (integer) - Maximum number of events per page. - **total** (integer) - Total number of events. - **has_more** (boolean) - Indicates if more events are available. #### Response Example { "success": true, "data": { "events": [ { "id": "nfp-20260807", "datetime": "2026-08-07T12:30:00+00:00", "currency": "USD", "event": "Non-Farm Payrolls", "impact": "high", "forecast": "185K", "previous": "151K", "actual": "203K" }, { "id": "cpi-20260812", "datetime": "2026-08-12T12:30:00+00:00", "currency": "USD", "event": "CPI m/m", "impact": "high", "forecast": "0.2%", "previous": "0.3%", "actual": null } ], "count": 2, "range": { "from": "2026-08-07T00:00:00", "to": "2026-08-14T00:00:00" }, "pagination": { "offset": 0, "limit": 100, "total": 2, "has_more": false } } } ### Error Handling - **403 PLAN_UPGRADE_REQUIRED** - Returned when free or trial keys attempt to call this endpoint. ``` -------------------------------- ### GET /v1/indicator Source: https://tickatlas.com/docs/quickstart Retrieves the current value of a technical indicator for a given symbol and timeframe. This is the primary endpoint used in the quick start guide to fetch the RSI value for EURUSD on the H1 timeframe. ```APIDOC ## GET /v1/indicator ### Description Retrieves the current value of a technical indicator for a given symbol and timeframe. ### Method GET ### Endpoint https://tickatlas.com/v1/indicator ### Parameters #### Query Parameters - **symbol** (string) - Required - The trading symbol, e.g., EURUSD. - **indicator** (string) - Required - The indicator identifier, e.g., RSI_14. - **timeframe** (string) - Required - The timeframe, e.g., H1. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=RSI_14&timeframe=H1" ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (object) - Contains the indicator data. - **symbol** (string) - The requested symbol. - **timeframe** (string) - The requested timeframe. - **indicator** (string) - The requested indicator. - **value** (number) - The current indicator reading. - **bid** (number) - Live bid price at the time of calculation. - **ask** (number) - Live ask price at the time of calculation. - **updated_at** (integer) - Unix epoch (seconds) when the value was last computed. - **server_time** (string) - Human-readable server timestamp. #### Response Example { "success": true, "data": { "symbol": "EURUSD", "timeframe": "H1", "indicator": "RSI_14", "value": 58.43, "bid": 1.08432, "ask": 1.08445, "updated_at": 1711548000, "server_time": "2026.03.21 14:00:00" } } ``` -------------------------------- ### Check Rate Limit Headers in Python Source: https://tickatlas.com/docs/troubleshooting Demonstrates how to inspect X-RateLimit headers and handle 429 status codes using the requests library. ```python import requests response = requests.get( "https://tickatlas.com/v1/quote", params={"symbol": "EURUSD"}, headers={"X-API-Key": "YOUR_API_KEY"}, ) # Inspect rate limit headers on every response print("Limit:", response.headers.get("X-RateLimit-Limit")) print("Remaining:", response.headers.get("X-RateLimit-Remaining")) print("Resets at:", response.headers.get("X-RateLimit-Reset")) if response.status_code == 429: retry_after = int(response.headers.get("Retry-After", 60)) print(f"Rate limited. Wait {retry_after} seconds.") ``` -------------------------------- ### GET /v1/indicators Source: https://tickatlas.com/docs Retrieves all indicators for a given symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/indicators ### Description Retrieves all indicators for a given symbol. ### Method GET ### Endpoint /v1/indicators ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/indicators?symbol=EURUSD" ### Response #### Success Response (200) - **indicators** (object) - Object containing all indicator values. #### Response Example { "indicators": { "RSI_14": 55.2, "MACD": 0.001 } } ``` -------------------------------- ### GET /v1/sessions Source: https://tickatlas.com/docs Retrieves market session status. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/sessions ### Description Retrieves market session status. ### Method GET ### Endpoint /v1/sessions ### Parameters #### Query Parameters - **symbol** (string) - Optional - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/sessions?symbol=EURUSD" ### Response #### Success Response (200) - **sessions** (object) - Session status information. #### Response Example { "sessions": { "london": "open", "newyork": "closed" } } ``` -------------------------------- ### Fetch All Indicators Source: https://tickatlas.com/docs/integrations/n8n Configuration to retrieve all 42 indicator values in a single HTTP call using the /v1/indicators endpoint. ```text // GET /v1/indicators — all 42 indicators at once // ─────────────────────────────────────────────── // URL: https://tickatlas.com/v1/indicators // Params: symbol=EURUSD&timeframe=H1 // // Access in downstream nodes: // {{ $json.RSI_14.value }} // {{ $json.MACD.value }} // {{ $json.ADX.value }} // ... and 39 more ``` -------------------------------- ### GET /v1/calendar Source: https://tickatlas.com/docs Retrieves economic calendar events. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/calendar ### Description Retrieves economic calendar events. ### Method GET ### Endpoint /v1/calendar ### Parameters #### Query Parameters - **date** (string) - Optional - The date for which to retrieve events. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/calendar?date=2025-01-01" ### Response #### Success Response (200) - **events** (array) - Array of economic events. #### Response Example { "events": [ { "date": "2025-01-01", "event": "Non-Farm Payrolls" } ] } ``` -------------------------------- ### GET /v1/spread Source: https://tickatlas.com/docs Retrieves spread analysis for a symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/spread ### Description Retrieves spread analysis for a symbol. ### Method GET ### Endpoint /v1/spread ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/spread?symbol=EURUSD" ### Response #### Success Response (200) - **spread** (number) - The spread value. #### Response Example { "spread": 0.0005 } ``` -------------------------------- ### GET /v1/ticks Source: https://tickatlas.com/docs Retrieves raw tick data for a symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/ticks ### Description Retrieves raw tick data for a symbol. ### Method GET ### Endpoint /v1/ticks ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/ticks?symbol=EURUSD" ### Response #### Success Response (200) - **ticks** (array) - Array of tick data. #### Response Example { "ticks": [ { "price": 1.1, "timestamp": "2025-01-01T00:00:00Z" } ] } ``` -------------------------------- ### Python Asynchronous Client Usage Source: https://tickatlas.com/docs/sdks Shows how to use the AsyncTickAtlas client within an asyncio event loop to fetch market quotes. ```python import asyncio from tickatlas import AsyncTickAtlas async def main(): async with AsyncTickAtlas() as client: quote = await client.get_quote("EURUSD") print(quote.bid, quote.ask, quote.spread_pips) asyncio.run(main()) ``` -------------------------------- ### Claude Desktop MCP Configuration Source: https://tickatlas.com/docs/sdks Configures the TickAtlas MCP server in the Claude Desktop configuration file. ```json { "mcpServers": { "tickatlas": { "command": "tickatlas-mcp", "env": { "TICKATLAS_API_KEY": "tk_your_key_here" } } } } ``` -------------------------------- ### Send X-API-Key header with curl and Python Source: https://tickatlas.com/docs/troubleshooting Shows the correct way to send the API key in the X-API-Key header, using curl and Python requests. Use this to fix HTTP 401 errors with error code MISSING_API_KEY. The header is case-insensitive but must be exact. ```bash # Correct: API key in the X-API-Key header curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/quote?symbol=EURUSD" # Python import requests response = requests.get( "https://tickatlas.com/v1/quote", params={"symbol": "EURUSD"}, headers={"X-API-Key": "YOUR_API_KEY"}, ) ``` -------------------------------- ### GET /v1/ohlc Source: https://tickatlas.com/docs Retrieves OHLCV candlestick data for a symbol. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/ohlc ### Description Retrieves OHLCV candlestick data for a symbol. ### Method GET ### Endpoint /v1/ohlc ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol. ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/ohlc?symbol=EURUSD" ### Response #### Success Response (200) - **candles** (array) - Array of OHLCV candles. #### Response Example { "candles": [ { "open": 1.1, "high": 1.2, "low": 1.0, "close": 1.15, "volume": 1000 } ] } ``` -------------------------------- ### 404 Not Found Error Response Source: https://tickatlas.com/docs/errors Returned when the requested resource does not exist. ```json { "success": false, "error": { "code": "SYMBOL_NOT_FOUND", "message": "Symbol INVALID not found" } } ``` -------------------------------- ### Implement Exponential Backoff with Jitter in Python Source: https://tickatlas.com/docs/troubleshooting A robust request wrapper that handles 429 rate limits and 5xx server errors using exponential backoff and random jitter. ```python import time import random def request_with_backoff(url, headers, params, max_retries=5): for attempt in range(max_retries): response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() if response.status_code == 429: retry_after = int(response.headers.get("Retry-After", 60)) time.sleep(retry_after) continue if response.status_code >= 500: wait = min(2 ** attempt + random.uniform(0, 1), 60) time.sleep(wait) continue # 4xx client error — do not retry response.raise_for_status() raise Exception("Max retries exceeded") ``` -------------------------------- ### X-API-Key header format Source: https://tickatlas.com/docs/authentication Shows the required header format for authenticating API requests. Include this header in every request to TickAtlas. ```http X-API-Key: YOUR_API_KEY ``` -------------------------------- ### GET /v1/indicator Source: https://tickatlas.com/docs Retrieves a single indicator value for a specified symbol and timeframe. This endpoint is part of the TickAtlas API and requires an API key. ```APIDOC ## GET /v1/indicator ### Description Retrieves a single indicator value for a specified symbol and timeframe. ### Method GET ### Endpoint /v1/indicator ### Parameters #### Query Parameters - **symbol** (string) - Required - The currency pair symbol (e.g., EURUSD). - **indicator** (string) - Required - The indicator identifier (e.g., RSI_14). - **timeframe** (string) - Required - The timeframe (e.g., H1). ### Request Example curl -H "X-API-Key: YOUR_API_KEY" \ "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=RSI_14&timeframe=H1" ### Response #### Success Response (200) - **value** (number) - The indicator value. #### Response Example { "value": 55.2 } ``` -------------------------------- ### Set TICKATLAS_API_KEY Environment Variable Source: https://tickatlas.com/docs/sdks Set the API key in your environment to authenticate with the SDKs. ```bash export TICKATLAS_API_KEY="tk_your_key_here" ``` -------------------------------- ### Python: get_summary Source: https://tickatlas.com/docs/sdks Retrieves a market-bias summary across all 42 indicators for a given symbol and timeframe. ```APIDOC ## get_summary ### Description Retrieves a market-bias summary across all 42 indicators for a given symbol and timeframe. ### Method GET ### Endpoint `/summary` ### Parameters #### Path Parameters - **symbol** (string) - Required - The currency pair symbol, e.g., "EURUSD". #### Query Parameters - **timeframe** (string) - Optional - The timeframe, e.g., "H1". ### Request Example ```python client.get_summary("EURUSD", timeframe="H1") ``` ### Response #### Success Response (200) - **bias** (string) - The overall market bias. - **confidence** (number) - The confidence level. #### Response Example ```json { "bias": "bullish", "confidence": 0.8 } ``` ``` -------------------------------- ### Python: screen Source: https://tickatlas.com/docs/sdks Screens the major currency pairs for a given indicator condition, such as oversold RSI. ```APIDOC ## screen ### Description Screens the major currency pairs for a given indicator condition, such as oversold RSI. ### Method GET ### Endpoint `/screen` ### Parameters #### Path Parameters - **indicator** (string) - Required - The indicator type, e.g., "RSI_14". #### Query Parameters - **max_val** (number) - Optional - The maximum value for the indicator. - **timeframe** (string) - Optional - The timeframe, e.g., "H1". ### Request Example ```python client.screen("RSI_14", max_val=30, timeframe="H1") ``` ### Response #### Success Response (200) - **results** (array) - List of screening results. - **symbol** (string) - The currency pair symbol. - **value** (number) - The indicator value. #### Response Example ```json { "results": [ {"symbol": "EURUSD", "value": 25.3}, {"symbol": "GBPUSD", "value": 28.1} ] } ``` ```