Socket
Socket
Sign inDemoInstall

companies-house-uk

Package Overview
Dependencies
38
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

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.


Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
1
Created
Weekly downloads
 

Readme

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

FAQs

Last updated on 31 Jul 2021

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc