🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

companies-house-uk

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

companies-house-uk

UK Companies House API with Dictionaries for fetching and transforming publicly available data.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

UK Companies house API

This package will allow you to retrieve UK Companies House API data, with ability to have more readable keys and enumerated values.

Installation instructions

Run

npm install --save companies-house-uk

or

yarn add companies-house-uk

Usage

To use this package you need to obtain API key from Companies House Developer pages:

  • Developer's login page
  • Obtaining Key page
  • API description

To load data:

const { CompaniesHouseAPI } = require('companies-house-uk');
const ch = new CompaniesHouseAPI(YOUR_API_KEY_STRING);

const fetchCompanyData = async () => {
    try {
        const companyProfile = await ch.getCompanyData(companyId);
        return companyProfile.body;
    } catch (err) {
        console.error(err);
    }
};

// or
ch.getCompanyData(companyId)
  .then(({ body }) => {
      console.log(body);
  })
  .catch((error) => {
      console.log(error);
  });

Following methods are available:

    search(item: any)
    getCompanyProfile(companyNo: string)
    getFilingHistory(companyNo: string)
    getOfficers(companyNo: string)
    getPersons(companyNo: string)
    getAddress(companyNo: string)

It is possible to change snake_case result with the following snippet:

const { Casing } = require('companies-house-uk');
const { keysToCamel } = Casing;

const result = keysToCamel(companyProfile);

Also now you can decorate fields that have enumeration mapping. For example for company_status filed we would get:

{
    ...
    "company_status": "receivership"
    ...
}

// will result in
{
    ...
    "company_status": { "id": "receivership", "value": "Receiver Action"
    ...
}

How to use dictionary decorators:

const companyProfile = ... load company profile above
const { Transformation } = require('companies-house-uk');
const { decorateWithDictonary, companyProfileDecorator } = Transformation;
const decorationRes = decorateWithDictonary(companyProfile, '', companyProfileDecorator);

Current roadmap

The roadmap is as follows:

  • API functions for retrieving data
  • Change casing to camelCase from snake_case or kebab-case +- Decorating retrieved data with dictionary results
  • TypeScript types for each entity
  • ...

Note

If you have more ideas about other functionalities you would like to see in this npm package or something you would like me to improve; please raise the issue https://github.com/nicewaytodoit/companies-house-uk/issues with the label "feature request".

Thank you, Aleks

Keywords

companies house

FAQs

Package last updated on 31 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts