pyGrowwAPI


NamepyGrowwAPI JSON
Version 0.3.1 PyPI version JSON
download
home_pageNone
SummaryUnofficial Python SDK for Groww APIs (sync + async), with typed models.
upload_time2025-09-04 05:30:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords api groww investing sdk trading
VCS
bugtrack_url
requirements annotated-types certifi charset-normalizer colorama idna iniconfig packaging pluggy pydantic pydantic_core Pygments pytest PyYAML requests responses typing-inspection typing_extensions urllib3
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyGrowwAPI

πŸ“ˆ **Unofficial Python client for Groww Stock Market Data (NSE).**

Easily fetch **live quotes** and **historical OHLCV candles** for Indian stocks using Groww's web APIs.

---

## πŸš€ Installation

```bash
pip install pyGrowwAPI
```

---

## πŸ“Œ Quick Start

```python
from pyGrowwAPI.client import GrowwClient

# Initialize client
client = GrowwClient()

# Get live stock quotes
quotes = client.get_quotes("SBIN")
print(quotes)

# Get historical OHLCV data
candles = client.history_price("SBIN", "30day", "1day")
for c in candles[:5]:
    print(c.timestamp, c.open, c.close)
```

---

## πŸ”Ή API Documentation

### `GrowwClient`

Main client to interact with Groww's API.

---

#### `get_quotes(symbol: str) -> dict`

Fetch the latest OHLC (Open, High, Low, Close) and other market data for a stock.

- **symbol** (`str`): Stock symbol, e.g., `"SBIN"`, `"TCS"`.  
- **returns**: `dict` JSON response with latest prices.

---

#### `history_price(symbol: str, range_period: str, interval: str) -> list[Candle]`

Fetch historical candlestick (OHLCV) data for a stock.

- **symbol** (`str`): Stock symbol, e.g., `"SBIN"`, `"INFY"`.  
- **range_period** (`str`): Time span of data.  
  - Format β†’ `"<number><unit>"`  
  - Units: `day`, `week`, `month`, `year`  
  - Examples: `"30day"`, `"2week"`, `"6month"`, `"5year"`  
- **interval** (`str`): Candlestick interval.  
  - Format β†’ `"<number><unit>"`  
  - Units: `min`, `hour`, `day`, `week`, `month`, `year`  
  - Examples: `"1min"`, `"15min"`, `"1hour"`, `"1day"`  
- **returns**: `list[Candle]`

---

### `Candle` Model

Represents a single OHLCV (Open, High, Low, Close, Volume) candle.

| Attribute  | Type      | Description                 |
|------------|-----------|-----------------------------|
| timestamp  | datetime  | Candle start time (IST)     |
| open       | float     | Opening price               |
| high       | float     | Highest price               |
| low        | float     | Lowest price                |
| close      | float     | Closing price               |
| volume     | int       | Traded volume               |

---

## βœ… Examples

### Fetching 5 years of daily candles

```python
candles = client.history_price("TCS", "5year", "1day")
print(len(candles))  # number of daily candles
```

### Fetching intraday 15-minute candles

```python
candles = client.history_price("INFY", "7day", "15min")
for c in candles[:10]:
    print(c.timestamp, c.close)
```

---

## ⚠️ Disclaimer

- This package uses **Groww’s public endpoints**, which are **undocumented**.  
- Groww may change or restrict these APIs at any time.  
- Use this package for **educational / personal projects** only.  

---

## πŸ“œ License

MIT License Β© 2025 Your Name

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyGrowwAPI",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "api, groww, investing, sdk, trading",
    "author": null,
    "author_email": "Kavin R <kamalkavin68@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2c/9f/1b953208aa08ac486cc2a2479dcb19237fc03c04cdad405f7cd09cac01e4/pygrowwapi-0.3.1.tar.gz",
    "platform": null,
    "description": "# pyGrowwAPI\n\n\ud83d\udcc8 **Unofficial Python client for Groww Stock Market Data (NSE).**\n\nEasily fetch **live quotes** and **historical OHLCV candles** for Indian stocks using Groww's web APIs.\n\n---\n\n## \ud83d\ude80 Installation\n\n```bash\npip install pyGrowwAPI\n```\n\n---\n\n## \ud83d\udccc Quick Start\n\n```python\nfrom pyGrowwAPI.client import GrowwClient\n\n# Initialize client\nclient = GrowwClient()\n\n# Get live stock quotes\nquotes = client.get_quotes(\"SBIN\")\nprint(quotes)\n\n# Get historical OHLCV data\ncandles = client.history_price(\"SBIN\", \"30day\", \"1day\")\nfor c in candles[:5]:\n    print(c.timestamp, c.open, c.close)\n```\n\n---\n\n## \ud83d\udd39 API Documentation\n\n### `GrowwClient`\n\nMain client to interact with Groww's API.\n\n---\n\n#### `get_quotes(symbol: str) -> dict`\n\nFetch the latest OHLC (Open, High, Low, Close) and other market data for a stock.\n\n- **symbol** (`str`): Stock symbol, e.g., `\"SBIN\"`, `\"TCS\"`.  \n- **returns**: `dict` JSON response with latest prices.\n\n---\n\n#### `history_price(symbol: str, range_period: str, interval: str) -> list[Candle]`\n\nFetch historical candlestick (OHLCV) data for a stock.\n\n- **symbol** (`str`): Stock symbol, e.g., `\"SBIN\"`, `\"INFY\"`.  \n- **range_period** (`str`): Time span of data.  \n  - Format \u2192 `\"<number><unit>\"`  \n  - Units: `day`, `week`, `month`, `year`  \n  - Examples: `\"30day\"`, `\"2week\"`, `\"6month\"`, `\"5year\"`  \n- **interval** (`str`): Candlestick interval.  \n  - Format \u2192 `\"<number><unit>\"`  \n  - Units: `min`, `hour`, `day`, `week`, `month`, `year`  \n  - Examples: `\"1min\"`, `\"15min\"`, `\"1hour\"`, `\"1day\"`  \n- **returns**: `list[Candle]`\n\n---\n\n### `Candle` Model\n\nRepresents a single OHLCV (Open, High, Low, Close, Volume) candle.\n\n| Attribute  | Type      | Description                 |\n|------------|-----------|-----------------------------|\n| timestamp  | datetime  | Candle start time (IST)     |\n| open       | float     | Opening price               |\n| high       | float     | Highest price               |\n| low        | float     | Lowest price                |\n| close      | float     | Closing price               |\n| volume     | int       | Traded volume               |\n\n---\n\n## \u2705 Examples\n\n### Fetching 5 years of daily candles\n\n```python\ncandles = client.history_price(\"TCS\", \"5year\", \"1day\")\nprint(len(candles))  # number of daily candles\n```\n\n### Fetching intraday 15-minute candles\n\n```python\ncandles = client.history_price(\"INFY\", \"7day\", \"15min\")\nfor c in candles[:10]:\n    print(c.timestamp, c.close)\n```\n\n---\n\n## \u26a0\ufe0f Disclaimer\n\n- This package uses **Groww\u2019s public endpoints**, which are **undocumented**.  \n- Groww may change or restrict these APIs at any time.  \n- Use this package for **educational / personal projects** only.  \n\n---\n\n## \ud83d\udcdc License\n\nMIT License \u00a9 2025 Your Name\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unofficial Python SDK for Groww APIs (sync + async), with typed models.",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://github.com/kamalkavin68/pyGrowwAPI",
        "Issues": "https://github.com/kamalkavin68/pyGrowwAPI/issues"
    },
    "split_keywords": [
        "api",
        " groww",
        " investing",
        " sdk",
        " trading"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "493d9da23e0dddf06c08748b95023182e9ff8ffc43e4cf5145347b14fb7c7987",
                "md5": "df658921794c05eab67c84c86263b8c3",
                "sha256": "78a20ae012f436cd20d1bd11d5007f5b688c4a079105c2a8b44e6468ab6fecd5"
            },
            "downloads": -1,
            "filename": "pygrowwapi-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "df658921794c05eab67c84c86263b8c3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 5958,
            "upload_time": "2025-09-04T05:30:36",
            "upload_time_iso_8601": "2025-09-04T05:30:36.953514Z",
            "url": "https://files.pythonhosted.org/packages/49/3d/9da23e0dddf06c08748b95023182e9ff8ffc43e4cf5145347b14fb7c7987/pygrowwapi-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2c9f1b953208aa08ac486cc2a2479dcb19237fc03c04cdad405f7cd09cac01e4",
                "md5": "40009f857f8cfb340c7b34b2892e39d1",
                "sha256": "87712e3732271a6a1b986c3b1219eab3bc3c83874b8b9cbc886d5f573732faba"
            },
            "downloads": -1,
            "filename": "pygrowwapi-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "40009f857f8cfb340c7b34b2892e39d1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 7077,
            "upload_time": "2025-09-04T05:30:38",
            "upload_time_iso_8601": "2025-09-04T05:30:38.304721Z",
            "url": "https://files.pythonhosted.org/packages/2c/9f/1b953208aa08ac486cc2a2479dcb19237fc03c04cdad405f7cd09cac01e4/pygrowwapi-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-04 05:30:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kamalkavin68",
    "github_project": "pyGrowwAPI",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.8.3"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.3"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "25.0"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.11.7"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    "==",
                    "2.33.2"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.19.2"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.4.1"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.5"
                ]
            ]
        },
        {
            "name": "responses",
            "specs": [
                [
                    "==",
                    "0.25.8"
                ]
            ]
        },
        {
            "name": "typing-inspection",
            "specs": [
                [
                    "==",
                    "0.4.1"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.15.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        }
    ],
    "lcname": "pygrowwapi"
}
        
Elapsed time: 1.17633s