india-isin-data

International Securities Identification Numbers for various Indian Securities

https://github.com/captn3m0/india-isin-data

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary

Keywords

csv dataset funds git-scraping india isin nsdl securities
Last synced: 6 months ago · JSON representation ·

Repository

International Securities Identification Numbers for various Indian Securities

Basic Info
  • Host: GitHub
  • Owner: captn3m0
  • License: cc0-1.0
  • Language: Shell
  • Default Branch: main
  • Homepage:
  • Size: 126 MB
Statistics
  • Stars: 41
  • Watchers: 2
  • Forks: 6
  • Open Issues: 6
  • Releases: 0
Topics
csv dataset funds git-scraping india isin nsdl securities
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Funding License Citation

README.md

India ISIN Data

DOI GitHub release (latest by date) GitHub tag (latest SemVer) GitHub repo size Flat GitHub Badge

ISIN Data from various public securities. You can sort and filter this dataset in your browser at https://flatgithub.com/captn3m0/india-isin-data.

Source: NSDL Website Detailed ISIN Search.

Automatically updated every midnight (IST).

Note: The NSDL Website returns zero valid results for INA, INB, so those are not tracked.

ISIN Structure

ISIN (International Securities Identification Number) is defined by ISO 6166:2021 and adopted in India by BIS as IS 15415:2021 ((PDF)) ((PDF2)). ISINs in India are allotted by NSDL for all securities except Government Securities (See Page 9).

This Indian Standard (Second Revision) which is identical with ISO 6166 : 2021 ‘Financial services - International securities identification number (ISIN)’ issued by the International Organization for Standardization (ISO) was adopted by the Bureau of Indian Standards on recommendation of the Banking and Financial Services Sectional Committee and approval of the Services Sector Division Council.

ISIN, as per the ISO standard consists of 3 parts:

  1. A 2 Character country code as prefix (ISO-3166). For ISINs issued in India, this will always be IN.
  2. A Basic Identification Number. 9 alphanumeric characters left padded with zeroes.
  3. A check digit.

The basic number in India is issued by NSDL and is composed of 4 parts:

  1. A 1-character Issuer-Type. This varies from A-F/9.
  2. A 4-character Issuer code. Alphanumeric.
  3. A 2-character Security Type. Alphanumeric.
  4. A 2-digit serial number for the security itself. Alphanumeric.

Hence, each issuer can issue 36^2 = 1296 securities under each type.
The table below explains the same with an example:

Field Country Code Issuer Type Issuer Code Security Type Serial Number Check Digit
Index 1 2 3 4 5 6 7 8 9 10 11 12
Class I N A-F,0-9 alpha alpha alpha alpha alpha alpha alpha alpha 0-9
Sample I N F 7 8 9 F 0 1 X A 0

Here's the breakdown of the above ISIN (INF789F01XA0):

  • Country Code: IN
  • Issuer Type: F (Mutual Funds)
  • Issuer Code: 789F (UTI Mutual Fund)
  • Security Type: 01 (Equity Shares)
  • Serial Number: XA
  • Check Digit: 0

Issuer Types

Issuer Type|Issuer Type Code -----------|------------- Central Government|A State Government|B Municipal Corporation|C Union Territories|D Company, Statutory Corporation, Banking Company|E Mutual Funds|F Partly Paid-up Shares|G Central Government Security|0 State Government Security|1 State Government Security|2 State Government Security|3 State Government Security|4

Issuer Code

Please see issuers.csv (🚧)

Security Type

The security type is defined in the 8th and 9th character of the ISIN code. The same security type code can have different meanings against different issuers.

This table is based on analysis done on real data. A lot of categories (such as Bonds) are fluid, and the exact description in the dataset might not match the security type in this table (As an example the dataset might state "Deep Discount Bond" instead of "Bond". Note that some other sources on the Internet might differ with this table. If you find a ISIN that does not fit in the following table correctly, please create an issue with the ISIN.

Issuer Type | Security Type Code | Security Type ------------|--------|----------------- Company (INE) | 01 | Equity Share Company (IN9) | 01 | Equity Share Mutual Fund (INF) | 01 | Mutual Fund Unit Company (INE) | 02 | Postal Savings Scheme Company (INE) | 03 | Preference Share Company (IN9) | 03 | Preference Share Company (INE) | 04 | Preference Share Company (IN9) | 04 | Preference Share Company (INE) | 05 | Deep Discount Bond Company (INE) | 06 | Floating Rate Bond Company (INE) | 07 | Bond / Debenture Company (INE) | 08 | Bond / Debenture Company (INE) | 09 | Bond / Debenture Company (INE) | 10 | Floating Rate Bond Company (INE) | 11 | Bonds Company (INE) | 13 | Warrants Company (INE) | 14 | Commercial Paper Company (INE) | 15 | Securitised Instrument Company (INE) | 16 | Certificate of Deposit Company (INE) | 18 | Securitised Instrument Company (IN9) | 19 | Mutual Fund Unit Company (INF) | 19 | Mutual Fund Unit Mutual Fund (INF) | 1A | Mutual Fund Unit Company (INE) | 20 | Rights Entitlement Company (INE) | 21 | Indian Depository Receipt Mutual Fund (INF) | 22 | Alternate Investment Fund Company (INE) | 23 | Infrastructure Investment Trust Company (INE) | 24 | Municipal Bond Company (INE) | 25 | Real Estate Investment Trusts Mutual Fund (INF) | A1 | Mutual Fund Unit Company (INE) | A7 | Debenture Mutual Fund (INF) | B1 | Mutual Fund Unit Company (INE) | B7 | Debenture Mutual Fund (INF) | C1 | Mutual Fund Unit

Check Digit

The last digit (check-digit) is calculated using the Luhn Algorithm with a slight change to accommodate alphanumeric characters. Alphabets are converted to digits by adding 9 to the usual numeric value of each letter. For example A=10, B=12, C=13, ..., Z=35. A few examples:

ISIN|Payload|Check Digit|Validate ----|-------|--------|--- INE009A01021|18 23 14 009 10 0102|1|CyberChef US0378331005|30 28 0378331001|5|CyberChef AU0000XVGZA3|10 30 0000 33 31 16 35 10|3|CyberChef INF789F01XA0|18 23 15 789 15 01 33 10|0|CyberChef

References:

  • https://www.basunivesh.com/how-your-dmat-mutual-funds-and-shares-isin-structured/
  • https://theindianstockbrokers.com/what-is-isin-number-and-how-to-find-it/
  • https://en.wikipedia.org/wiki/InternationalSecuritiesIdentification_Number
  • ISO 6166, Annex A.

Code

You can run the following to generate the ISIN.csv file from scratch:

git clone https://github.com/captn3m0/india-isin-data.git make check make ISIN

Dependencies:

  • https://github.com/ericchiang/pup
  • https://stedolan.github.io/jq/
  • https://www.gnu.org/software/parallel/
  • https://curl.se/
  • https://www.gnu.org/software/sed/

Alternative Sources

ISINs for India can be found at a few other sources:

License

Licensed under the Creative Commons Zero v1.0 Universal license. There are no guarantees made as to the correctness or accuracy of this data.

Owner

  • Name: Nemo
  • Login: captn3m0
  • Kind: user
  • Location: Bangalore, India

Making and Breaking things, sometimes intentionally

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this dataset, please cite it as below."
authors:
- family-names: "Rana"
  given-names: "Abhay"
  orcid: https://orcid.org/0000-0002-7993-1363
title: "India ISIN Database, by Nemo"
version: 2025.9.4
url: "https://github.com/captn3m0/india-isin-data"
date-released: 2025-09-04
preferred-citation:
  url: "https://github.com/captn3m0/india-isin-data"
  type: data
  authors:
  - family-names: "Rana"
    given-names: "Abhay"
    orcid: "https://orcid.org/0000-0002-7993-1363"
  title: "India ISIN Database, by Nemo"

GitHub Events

Total
  • Create event: 195
  • Issues event: 2
  • Release event: 177
  • Watch event: 9
  • Issue comment event: 6
  • Push event: 184
  • Fork event: 1
Last Year
  • Create event: 195
  • Issues event: 2
  • Release event: 177
  • Watch event: 9
  • Issue comment event: 6
  • Push event: 184
  • Fork event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 7
  • Total pull requests: 4
  • Average time to close issues: 11 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.14
  • Average comments per pull request: 0.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • captn3m0 (5)
  • hardsudo (1)
  • srikanthlogic (1)
  • yashmangal1203 (1)
Pull Request Authors
  • captn3m0 (2)
  • TheCodeArtist (1)
  • dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (1)

Dependencies

src/requirements.txt pypi
  • Mako ==1.2.0
  • MarkupSafe ==2.1.1
  • click ==8.1.3
  • csv-diff ==1.1
  • dictdiffer ==0.9.0
  • six ==1.16.0
.github/workflows/update.yml actions
  • actions/checkout v3 composite
  • stefanzweifel/git-auto-commit-action v4 composite