PHPackages                             tickatlas/php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. tickatlas/php-sdk

ActiveLibrary[API Development](/categories/api)

tickatlas/php-sdk
=================

Official PHP SDK for the TickAtlas API (forex/markets data, indicators, calendar).

v0.1.0(1mo ago)01↓50%MITPythonPHP &gt;=8.1CI passing

Since Jun 16Pushed 1mo agoCompare

[ Source](https://github.com/abuzant/tickatlas-sdk)[ Packagist](https://packagist.org/packages/tickatlas/php-sdk)[ Docs](https://tickatlas.com)[ RSS](/packages/tickatlas-php-sdk/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

TickAtlas SDKs
==============

[](#tickatlas-sdks)

Official client SDKs for the [**TickAtlas**](https://tickatlas.com) market-data API — real-time and historical data for forex, commodities, indices, crypto, and equities: quotes, OHLC candles, tick data, 30+ technical indicators, market-bias summaries, currency-strength heatmaps, spread analytics, and an economic calendar.

> **Intended GitHub repo:** `abuzant/tickatlas-sdk` (this monorepo). Each language package is independently publishable.

This is a **monorepo**: one package per language, each idiomatic for its ecosystem and built against the same contract — **[`SPEC.md`](SPEC.md)**, the authoritative API contract this repo was built and tested against.

---

Language matrix
---------------

[](#language-matrix)

LanguagePackageInstallSourceDocs**Python**`tickatlas` (PyPI)`pip install tickatlas`[`python/`](python/)[README](python/README.md)**JavaScript / TypeScript**`tickatlas` (npm)`npm install tickatlas`[`javascript/`](javascript/)[README](javascript/README.md)**PHP**`tickatlas/php-sdk` (Packagist)`composer require tickatlas/php-sdk`[`php/`](php/)[README](php/README.md)**Go**`github.com/abuzant/tickatlas-sdk/go``go get github.com/abuzant/tickatlas-sdk/go`[`go/`](go/)[README](go/README.md)All four cover **every one of the 21 public `/v1` endpoints** (see [§ Endpoint coverage](#endpoint-coverage)).

---

Authentication
--------------

[](#authentication)

Every SDK authenticates with an API key sent as the `X-API-Key` header. Get a key from your [TickAtlas dashboard](https://tickatlas.com/dashboard).

Provide it explicitly, or set the environment variable **`TICKATLAS_API_KEY`** (the default every SDK reads). The base URL defaults to `https://tickatlas.com/v1` and is overridable via constructor option or `TICKATLAS_BASE_URL`.

```
export TICKATLAS_API_KEY="tk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

No SDK ever logs, prints, or persists your key.

---

Quickstart
----------

[](#quickstart)

**Python**

```
from tickatlas import TickAtlas
client = TickAtlas()                       # reads TICKATLAS_API_KEY
rsi = client.get_indicator("EURUSD", "RSI_14", timeframe="H1")
print(rsi.value)
```

**TypeScript / JavaScript**

```
import { TickAtlas } from "tickatlas";
const client = new TickAtlas();            // reads TICKATLAS_API_KEY
const rsi = await client.getIndicator("EURUSD", "RSI_14", { timeframe: "H1" });
console.log(rsi.value);
```

**PHP**

```
use TickAtlas\Client;
$client = new Client();                     // reads TICKATLAS_API_KEY
$rsi = $client->getIndicator('EURUSD', 'RSI_14', ['timeframe' => 'H1']);
echo $rsi->value;
```

**Go**

```
client, _ := tickatlas.NewClient()          // reads TICKATLAS_API_KEY
rsi, err := client.Indicator(ctx, "EURUSD", "RSI_14", &tickatlas.IndicatorParams{Timeframe: "H1"})
```

Each package README has full per-endpoint examples, error handling, and retry/rate-limit details.

---

Shared design (all SDKs)
------------------------

[](#shared-design-all-sdks)

- **Typed responses** — every endpoint returns a typed model parsed from the `{"success": true, "data": ...}` envelope.
- **Typed errors** — `AuthenticationError` (401), `PermissionDeniedError` (403), `NotFoundError` (404), `ValidationError` (400/422), `RateLimitError` (429, with `retry_after`), `ServerError` (5xx), and a network/timeout error — all under one base type. See [`SPEC.md` §4](SPEC.md).
- **Automatic retries** — exponential backoff with jitter on `429`/`5xx`/network errors, honouring the `Retry-After` header on rate limits. Configurable.
- **Rate-limit aware** — reads `X-RateLimit-*` headers and the `X-Request-ID`correlation id.
- **Config** — explicit arg → `TICKATLAS_API_KEY` / `TICKATLAS_BASE_URL` env → sensible default.

---

Endpoint coverage
-----------------

[](#endpoint-coverage)

All 21 public `/v1` endpoints, in every SDK:

GroupEndpoints**Symbols**`GET /symbols`, `GET /symbols/{symbol}`**Quotes**`GET /quote`, `POST /quotes`**History**`GET /ohlc`, `GET /ticks`**Indicators**`GET /indicator`, `GET /indicators`, `GET /indicators/list`, `GET /indicator/history`, `GET /multi`, `GET /screener`**Analytics**`GET /summary`, `GET /heatmap`, `GET /spread`, `GET /spread/compare`, `GET /sessions`**Calendar**`GET /calendar`**Account**`GET /monitor/account`, `GET /monitor/layout`, `PUT /monitor/layout` *(write, advanced)*Plus convenience access to the unauthenticated `GET /health` probe. The WebSocket quote stream is **not** part of `0.1.0` (tracked for a future release). See [`SPEC.md` §7](SPEC.md) for the full contract and [§12](SPEC.md) for documented docs-vs-live findings.

---

Testing
-------

[](#testing)

Each SDK ships two suites:

- **Unit tests** — no network; every method is exercised against mocked HTTP using the real example payloads from `SPEC.md`. These run in CI on every push.
- **Integration tests** — hit the real API, **read-only**, and are gated behind `RUN_INTEGRATION=1` + `TICKATLAS_API_KEY`. They never run by default and are wired into CI behind a repository secret (`workflow_dispatch`).

```
# Python
cd python && python -m venv .venv && . .venv/bin/activate && pip install -e ".[dev]" && pytest
# JavaScript
cd javascript && npm install && npm run build && npm test
# PHP
cd php && composer install && composer test
# Go
cd go && go test ./...

# Live integration (any language), once you have a key:
export TICKATLAS_API_KEY="tk_..." RUN_INTEGRATION=1
```

---

Versioning &amp; contributing
-----------------------------

[](#versioning--contributing)

All packages start at **0.1.0** and follow [SemVer](https://semver.org). The API itself is `v1`. Contributions welcome — see each package's README for dev setup. Licensed under [MIT](LICENSE).

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance90

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

48d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ae2663b6d80239a02829f7aa45723c7791dd5dc38164d47e90dffd2bc8f1a551?d=identicon)[abuzant](/maintainers/abuzant)

---

Top Contributors

[![abuzant](https://avatars.githubusercontent.com/u/9941513?v=4)](https://github.com/abuzant "abuzant (18 commits)")

---

Tags

sdkapi clienttradingforexindicatorsmarket datatickatlas

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tickatlas-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/tickatlas-php-sdk/health.svg)](https://phpackages.com/packages/tickatlas-php-sdk)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k555.0M2.8k](/packages/aws-aws-sdk-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

293.1k](/packages/eslazarev-wildberries-sdk)[facebook/php-business-sdk

PHP SDK for Facebook Business

91524.8M37](/packages/facebook-php-business-sdk)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.3M49](/packages/tencentcloud-tencentcloud-sdk-php)[facebook/php-ads-sdk

PHP SDK for Facebook Business

9234.2M8](/packages/facebook-php-ads-sdk)[resend/resend-php

Resend PHP library.

608.3M50](/packages/resend-resend-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
