CompanyListing


Local Company Finder UK

Objective, find an up to date list of companies from .gov website also find coops from FCA website. Filter by the first half of the post code For example if you live in IG11 0HQ find the jobs in IG11 in UK this is normally a ward.

Who might be interested?

  • Local counciours to know what companies are in their ward.
  • Job seekers looking for work.
  • Buyers who wish to buy local.
  • Companies finding local providers to reduce carbon footprint on transport.
  • Companies looking for clients in other companies.

First test

Companies house create a CSV file that it updates every month. This comes in a Zip that is downloaded from their website. This is full nationwide. http://download.companieshouse.gov.uk/en_output.html

FCA seems to have an API to enable finding companies. Their website allows me to search by postcode but only finance companies: mortgage advisors and so forth.

https://www.fca.org.uk/firms/financial-services-register https://register.fca.org.uk/Developer/ShAPI_LoginPage?ec=302&startURL=%2FDeveloper%2Fs%2F

Coop uk also provides a useful source of information for cooperatives only Seems to collect from both companies house and FCA:

https://www.uk.coop/resources/open-data

Ideal vision

Hosted website, you put your post code and it gives you a downloadable CSV. Maybe an extra filter. This will help develop the 15 min city.

import pandas as pd
from zipfile import ZipFile
import glob
import os
from datetime import date
import requests
import urllib.request
import time
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.4) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
def check_latest_online():
    PageName = "http://download.companieshouse.gov.uk/en_output.html"
    RootPageName = "http://download.companieshouse.gov.uk/"
    page = requests.get(PageName)
    soup = BeautifulSoup(page.content, 'html.parser')
    for one_a_tag in soup.findAll('a'):  #'a' tags are for links
        link = one_a_tag['href']
        if "AsOneFile" in link:
            latest_online=link
            time.sleep(1) #pause the code for a sec
            break
        else:
            next         
    return latest_online
# Make a request
def download_companyFile():
    PageName = "http://download.companieshouse.gov.uk/en_output.html"
    RootPageName = "http://download.companieshouse.gov.uk/"
    page = requests.get(PageName)
    
    soup = BeautifulSoup(page.content, 'html.parser')

    for one_a_tag in soup.findAll('a'):  #'a' tags are for links
        link = one_a_tag['href']
        if "AsOneFile" in link:
            urllib.request.urlretrieve(RootPageName+link, './data/'+link) #this might be out of date?
            print(RootPageName+link)            
            time.sleep(1) #pause the code for a sec
            break
        else:
            next     
def extract_latest_zip():
    list_of_ZIP = glob.glob(path_to_ZIP) 
    latest_ZIP = max(list_of_ZIP, key=os.path.getctime)
    with ZipFile(latest_ZIP, 'r') as zipObj:
        # Extract all the contents of zip file in current directory
        zipObj.extractall(path='./data/')
    list_of_CSV = glob.glob(path_to_CSV)
    latest_CSV = max(list_of_CSV, key=os.path.getctime)
    return latest_CSV
def latest_zip_csv ():
    list_of_ZIP = glob.glob(path_to_ZIP) 
    latest_ZIP = max(list_of_ZIP, key=os.path.getctime)
    list_of_CSV = glob.glob(path_to_CSV)
    latest_CSV = max(list_of_CSV, key=os.path.getctime)
    return latest_ZIP, latest_CSV

path_to_ZIP='./data/*.zip' # * means all if need specific format then *.csv
path_to_CSV='./data/*.csv'
path_to_data_folder='./data'
latest_ZIP, latest_CSV = latest_zip_csv ()
#latest_online_zip = check_latest_online()
#Offline work.
latest_online_zip = os.path.basename(latest_ZIP)
# Rear word replace in String using split() + join()
new_extension= ".csv"
latest_online_csv =  "".join(latest_online_zip.split('.')[:-1] + [new_extension])

if latest_online_csv == os.path.basename(latest_CSV):
    print (latest_online_csv)
    print (latest_CSV)
    print ("We have up to date CSV")
    print ("It is now business time: the latest csv is "+ latest_CSV)    
elif latest_online_zip == os.path.basename(latest_ZIP):
    print (latest_online_zip)
    print (latest_ZIP)
    print ("Latest zip downloaded but we did not extract!, will do so now.")
    extract_latest_zip()
    latest_ZIP, latest_CSV = latest_zip_csv ()
    print ("It is now business time: the latest csv is "+ latest_CSV)
else:
    print ("all fail")
    print (latest_online_zip)
    print (latest_ZIP) 
    print (latest_online_csv)
    print (latest_CSV)
    print ("So we download the newest version, please wait for 0.5 GB file to download")
    download_companyFile()
    latest_CSV = extract_latest_zip()
    print ("It is now business time: the latest csv is "+ latest_CSV)

BasicCompanyDataAsOneFile-2021-04-01.csv
./data/BasicCompanyDataAsOneFile-2021-04-01.csv
We have up to date CSV
It is now business time: the latest csv is ./data/BasicCompanyDataAsOneFile-2021-04-01.csv

What does the csv have?

$ head BasicCompanyDataAsOneFile-2021-01-01.csv

CompanyName, CompanyNumber,RegAddress.CareOf,RegAddress.POBox, RegAddress.AddressLine1, RegAddress.AddressLine2,RegAddress.PostTown, RegAddress.County,RegAddress.Country,RegAddress.PostCode, CompanyCategory,CompanyStatus,CountryOfOrigin,DissolutionDate, IncorporationDate,Accounts.AccountRefDay,Accounts.AccountRefMonth, Accounts.NextDueDate,Accounts.LastMadeUpDate,Accounts.AccountCategory, Returns.NextDueDate,Returns.LastMadeUpDate,Mortgages.NumMortCharges, Mortgages.NumMortOutstanding,Mortgages.NumMortPartSatisfied, Mortgages.NumMortSatisfied,SICCode.SicText_1,SICCode.SicText_2, SICCode.SicText_3,SICCode.SicText_4,LimitedPartnerships.NumGenPartners, LimitedPartnerships.NumLimPartners,URI,PreviousName_1.CONDATE, PreviousName_1.CompanyName, PreviousName_2.CONDATE, PreviousName_2.CompanyName, PreviousName_3.CONDATE, PreviousName_3.CompanyName,PreviousName_4.CONDATE, PreviousName_4.CompanyName,PreviousName_5.CONDATE, PreviousName_5.CompanyName, PreviousName_6.CONDATE, PreviousName_6.CompanyName,PreviousName_7.CONDATE, PreviousName_7.CompanyName,PreviousName_8.CONDATE, PreviousName_8.CompanyName, PreviousName_9.CONDATE, PreviousName_9.CompanyName,PreviousName_10.CONDATE, PreviousName_10.CompanyName,ConfStmtNextDueDate, ConfStmtLastMadeUpDate

for some reason it does not know what company number or regaddress line 2 is.

Let us view the top 4 values of only the columns we are interested:


companies_df = pd.read_csv(latest_CSV,# index_col=0, header= TRUE ,# row.names =1, 
                        usecols=["CompanyName","RegAddress.AddressLine1",
                                 "RegAddress.PostTown",
                                 "RegAddress.PostCode",
                                 "CompanyCategory" ,"CompanyStatus", 
                                 "SICCode.SicText_1", "SICCode.SicText_2",
                                "SICCode.SicText_3", "SICCode.SicText_4"])
companies_df[0:4]

CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
0 ! LIMITED UNIT 3 NEWTON BUSINESS CENTRE SHEFFIELD S35 2PH Private Limited Company Active 78300 - Human resources provision and manageme... NaN NaN NaN
1 ! LTD METROHOUSE 57 PEPPER ROAD LEEDS LS10 2RU Private Limited Company Active 99999 - Dormant Company NaN NaN NaN
2 !? LTD THE STUDIO HATHERLOW HOUSE ROMILEY SK6 3DY Private Limited Company Active 47710 - Retail sale of clothing in specialised... NaN NaN NaN
3 !BIG IMPACT GRAPHICS LIMITED 372 OLD STREET LONDON EC1V 9LT Private Limited Company Active 18129 - Printing n.e.c. 59112 - Video production activities 63120 - Web portals 74201 - Portrait photographic activities

Tidy up the data

When we do not find the post code or the post town add “no info”. Find the ones registered for a particular post code: https://www.doogal.co.uk/MultiplePostcodes.php. In my case everybody in the area TW10 and the neigbourhooding KT2 5 sub area. Sadly, after that, postcode is a bit skattered gun. But nothing stops you from adding postcode street by street. I decided to add the full KT2 5 even though some of the companies will be too far away.


companies_df['RegAddress.PostCode'].fillna("no info", inplace=True)
companies_df['RegAddress.PostTown'].fillna("no info", inplace=True)

companies_df=companies_df.astype({"CompanyName": 'str',
                                  "RegAddress.AddressLine1": 'str',
                                 "RegAddress.PostTown": 'str',
                                 "RegAddress.PostCode": 'str',
                                 "CompanyCategory" : 'str' ,
                                  "CompanyStatus" : 'str', 
                                 "SICCode.SicText_1" : 'str', 
                                  "SICCode.SicText_2" : 'str',
                                "SICCode.SicText_3" : 'str', 
                                  "SICCode.SicText_4" : 'str'})

TW10companies_df=companies_df.loc[companies_df['RegAddress.PostCode'].str.contains('TW10')|
                                  companies_df['RegAddress.PostCode'].str.contains('KT2 5')|
                                  #companies_df['RegAddress.PostTown'].str.contains('HAM')| #There is alot of HAM
                                  companies_df['RegAddress.PostTown'].str.contains('PETERSHAM')
                                 ]

I really only want to know about active companies. Also non-dormant companies.

TW10_active_companies_df=TW10companies_df.loc[TW10companies_df['CompanyStatus'].str.contains('Active')]
word = "99999"
TW10_active_awake_df=TW10_active_companies_df[TW10_active_companies_df["SICCode.SicText_1"].str.contains(word) == False]
TW10_active_awake_df
CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
1901 07201197 LTD 19 MAY BATE AVENUE KINGSTON UPON THAMES KT2 5UR Private Limited Company Active 96020 - Hairdressing and other beauty treatment nan nan nan
2169 1 & 2 ARGYLL HOUSE LIMITED 1 & 2 ARGYLL HOUSE RICHMOND TW10 7HD Private Limited Company Active 68320 - Management of real estate on a fee or ... nan nan nan
3128 1 SPRING GROVE ROAD LIMITED 6 SHEEN COMMON DRIVE RICHMOND TW10 5BN Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
4014 10 CARDIGAN ROAD LIMITED 10 CARDIGAN ROAD RICHMOND TW10 6BJ PRI/LTD BY GUAR/NSC (Private, limited by guara... Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... nan nan
5504 102 CHURCH ROAD LIMITED FLAT 1 RICHMOND TW10 6LW Private Limited Company Active 98000 - Residents property management nan nan nan
... ... ... ... ... ... ... ... ... ... ...
4870763 ZIGGY MOON & SUN LIMITED 56 TUDOR DRIVE KINGSTON UPON THAMES KT2 5QF Private Limited Company Active 13921 - Manufacture of soft furnishings nan nan nan
4873906 ZMS CONSULTANCY LTD 175 WOLSEY DRIVE KINGSTON UPON THAMES KT2 5DR Private Limited Company Active 62020 - Information technology consultancy act... 85600 - Educational support services nan nan
4875348 ZONCO LIMITED 26 FALMOUTH HOUSE KINGSTON UPON THAMES KT2 5AH Private Limited Company Active 11070 - Manufacture of soft drinks; production... 32500 - Manufacture of medical and dental inst... 56210 - Event catering activities nan
4875397 ZONE 8 LIMITED 58 BREAMWATER GARDENS SURREY TW10 7SH Private Limited Company Active - Proposal to Strike off 96090 - Other service activities n.e.c. nan nan nan
4880027 £XCELLENT £XCHANGE LIMITED 48 KINGFISHER DRIVE RICHMOND TW10 7UE Private Limited Company Active 70221 - Financial management nan nan nan

2443 rows × 10 columns

SIC code

https://resources.companieshouse.gov.uk/sic/

We want to find the companies that are of interest to us. There is 731 different clasifications but the good thing is that they are more or less in numerical order so it we want to look for repair companies for something we cannot repair ourselves:

  • 95110 Repair of computers and peripheral equipment
  • 95120 Repair of communication equipment
  • 95210 Repair of consumer electronics
  • 95220 Repair of household appliances and home and garden equipment
  • 95230 Repair of footwear and leather goods
  • 95240 Repair of furniture and home furnishings
  • 95250 Repair of watches, clocks and jewellery
  • 95290 Repair of personal and household goods n.e.c.
SIC_repair_TW10_active_companies_df = TW10_active_awake_df.loc[(TW10_active_awake_df['SICCode.SicText_1']>'95105') & (TW10_active_companies_df['SICCode.SicText_1']<'95290')]
SIC_repair_TW10_active_companies_df
CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
1596373 FINEMAN ENTERPRISES LTD 87 HAM STREET RICHMOND TW10 7HL Private Limited Company Active 95110 - Repair of computers and peripheral equ... nan nan nan

If we want to look into manufactoring anthing textile related:

#14190 - Manufacture of other wearing apparel

SIC_manuFabric_TW10_active_companies_df = TW10_active_awake_df.loc[(TW10_active_awake_df['SICCode.SicText_1']>'14000') & (TW10_active_companies_df['SICCode.SicText_1']<'15000')]
SIC_manuFabric_TW10_active_companies_df
CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
190639 AGA COUTURE LONDON LIMITED 242 TUDOR DRIVE KINGSTON UPON THAMES KT2 5QJ Private Limited Company Active 14132 - Manufacture of other women's outerwear 74100 - specialised design activities nan nan
531989 BEAUTIFULLY MADE FOUNDATION CIC 20A RICHMOND HILL RICHMOND TW10 6QX Community Interest Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
531990 BEAUTIFULLY MADE LIMITED FLAT 2, 49 RICHMOND TW10 6AW Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
3653526 REVO EUROPE LIMITED FLAT 85 THE STAR & GARTER HOUSE RICHMOND TW10 6BF Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
3869000 SEEMEE LONDON LIMITED 9 HAM STREET RICHMOND TW10 7HR Private Limited Company Active 14190 - Manufacture of other wearing apparel a... 14390 - Manufacture of other knitted and croch... nan nan
3906629 SHE RISES RESORT LTD EVESHAM COURT 14 EVESHAM COURT RICHMOND TW10 6HJ Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
4533611 TUTU PIKIN LIMITED COVERDALE COTTAGE RICHMOND TW10 6EG Private Limited Company Active 14190 - Manufacture of other wearing apparel a... 32990 - Other manufacturing n.e.c. nan nan

Issues with SIC codes

Some companies like to have several codes. But normally this would be secondary activity. So I would want to find out if the companies that I am looking for have it as a secondary thing.

SIC_14000_TW10_active_df = TW10_active_awake_df.loc[(TW10_active_awake_df['SICCode.SicText_1']>'14000') &
                                                        (TW10_active_awake_df['SICCode.SicText_1']<'15000')|
                                                       (TW10_active_awake_df['SICCode.SicText_2']>'14000') &
                                                        (TW10_active_awake_df['SICCode.SicText_2']<'15000')|
                                                       (TW10_active_awake_df['SICCode.SicText_3']>'14000') &
                                                        (TW10_active_awake_df['SICCode.SicText_3']<'15000')|
                                                       (TW10_active_awake_df['SICCode.SicText_4']>'14000') &
                                                        (TW10_active_awake_df['SICCode.SicText_4']<'15000')
                                                       ]
SIC_14000_TW10_active_df
CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
190639 AGA COUTURE LONDON LIMITED 242 TUDOR DRIVE KINGSTON UPON THAMES KT2 5QJ Private Limited Company Active 14132 - Manufacture of other women's outerwear 74100 - specialised design activities nan nan
531989 BEAUTIFULLY MADE FOUNDATION CIC 20A RICHMOND HILL RICHMOND TW10 6QX Community Interest Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
531990 BEAUTIFULLY MADE LIMITED FLAT 2, 49 RICHMOND TW10 6AW Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
3653526 REVO EUROPE LIMITED FLAT 85 THE STAR & GARTER HOUSE RICHMOND TW10 6BF Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
3869000 SEEMEE LONDON LIMITED 9 HAM STREET RICHMOND TW10 7HR Private Limited Company Active 14190 - Manufacture of other wearing apparel a... 14390 - Manufacture of other knitted and croch... nan nan
3906629 SHE RISES RESORT LTD EVESHAM COURT 14 EVESHAM COURT RICHMOND TW10 6HJ Private Limited Company Active 14190 - Manufacture of other wearing apparel a... nan nan nan
4533611 TUTU PIKIN LIMITED COVERDALE COTTAGE RICHMOND TW10 6EG Private Limited Company Active 14190 - Manufacture of other wearing apparel a... 32990 - Other manufacturing n.e.c. nan nan

Zooming into the data

So, how many companies of each type are there in the neighbourhood?

Q1=TW10_active_awake_df['SICCode.SicText_1'].value_counts()
Q1.plot.pie()
plt.ylabel('')
plt.title('SIC code 1');

This is too much information even for me! Let us just see the 12 most frequenty type of companies.

Top_12=TW10_active_awake_df['SICCode.SicText_1'].value_counts().head(12)
Top_12.plot.pie()
#Q1.plot.bar()
plt.ylabel('')
plt.title('SIC code 1');
Top_12
70229 - Management consultancy activities other than financial management    185
62020 - Information technology consultancy activities                        136
98000 - Residents property management                                        117
82990 - Other business support service activities n.e.c.                     107
68209 - Other letting and operating of own or leased real estate              72
68100 - Buying and selling of own real estate                                 64
96090 - Other service activities n.e.c.                                       59
74909 - Other professional, scientific and technical activities n.e.c.        49
62090 - Other information technology service activities                       47
62012 - Business and domestic software development                            46
41100 - Development of building projects                                      41
47910 - Retail sale via mail order houses or via Internet                     40
Name: SICCode.SicText_1, dtype: int64

The first dozen of companies represent how much of the total?

Total=TW10_active_awake_df.shape[0]

Top_12_percent=(Top_12.sum()*100)/(Total)
print ('The top 12 percent represents', Top_12_percent.round(), '% of the total', Total)
The top 12 percent represents 39.0 % of the total 2443

Interesting! So, say we have a pub that is for sale called the ham Brewery Tap. Who would be the best companies to partner up with? I would say:

  • 68209 - Other letting and operating of own or leased real estate 72
  • 68100 - Buying and selling of own real estate 64
  • 41100 - Development of building projects 41

This particular Pub is in TW10 7HT post code as well.

TW107_df=TW10_active_awake_df.loc[TW10_active_awake_df['RegAddress.PostCode'].str.contains('TW10 7')]

TW107_df_estate=  TW107_df.loc[TW107_df['SICCode.SicText_1'].str.contains('68209')|
                               TW107_df['SICCode.SicText_1'].str.contains('68100')|
                               TW107_df['SICCode.SicText_1'].str.contains('41100')
                                        ]
TW107_df_estate
CompanyName RegAddress.AddressLine1 RegAddress.PostTown RegAddress.PostCode CompanyCategory CompanyStatus SICCode.SicText_1 SICCode.SicText_2 SICCode.SicText_3 SICCode.SicText_4
61352 63 PEACH STREET LIMITED 5 SOUTH LODGE RICHMOND TW10 7JL PRI/LTD BY GUAR/NSC (Private, limited by guara... Active 68209 - Other letting and operating of own or ... nan nan nan
67259 8 BA INTERNATIONAL LTD 16 BREAMWATER GARDENS RICHMOND TW10 7SQ Private Limited Company Active 41100 - Development of building projects 56101 - Licensed restaurants nan nan
284113 AMEENCO PROPERTY LIMITED 67 BROUGHTON AVENUE RICHMOND TW10 7UL Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... 68320 - Management of real estate on a fee or ... nan
296400 AN ORIGIN LTD 4 VINE COTTAGES RICHMOND TW10 7AW Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
967009 CLHM LIMITED 36 CLIFFORD ROAD RICHMOND TW10 7EA Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... nan nan
1058787 CORVINUS HOMES LIMITED SUITE 5 SOUTH LODGE RICHMOND TW10 7JL Private Limited Company Active - Proposal to Strike off 41100 - Development of building projects nan nan nan
1286326 DNA JOINT INVESTMENTS LIMITED 257 PETERSHAM ROAD RICHMOND TW10 7DA Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
1295074 DOMINO PROPERTY DEVELOPMENTS (2019) LIMITED ALL SAINTS CHURCH BUTE AVENUE RICHMOND TW10 7AX Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
1295075 DOMINO PROPERTY DEVELOPMENTS LIMITED ALL SAINTS CHURCH PETERSHAM TW10 7AX Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
1621154 FLAVORAMA MARKETING LIMITED 5 LANGHAM GARDENS SURREY TW10 7LP Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
1709897 G THULIN PROPERTY COMPANY LTD 12 WATERMILL CLOSE RICHMOND TW10 7UH Private Limited Company Active 41100 - Development of building projects 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... 68320 - Management of real estate on a fee or ...
2111984 ICONIC PROPERTY LIMITED 18 18 LAWRENCE RD RICHMOND TW10 7LR Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
2521745 LARK MANAGEMENT LIMITED 6 HEADWAY CLOSE RICHMOND TW10 7YW Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... nan nan
2589736 LIMONKA LTD 85 HAM STREET RICHMOND TW10 7HL Private Limited Company Active - Proposal to Strike off 68100 - Buying and selling of own real estate nan nan nan
2726372 MAGISTER GARDENS LIMITED 313 PETERSHAM ROAD LONDON TW10 7DB Private Limited Company Active 41100 - Development of building projects 68209 - Other letting and operating of own or ... nan nan
2754049 MANPOWER HUB LTD 19 MOWBRAY ROAD RICHMOND TW10 7NQ Private Limited Company Active - Proposal to Strike off 41100 - Development of building projects 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... 68320 - Management of real estate on a fee or ...
2951562 MONTROSE VENTURES LIMITED MONTROSE HOUSE RICHMOND TW10 7AD Private Limited Company Active 41100 - Development of building projects 82990 - Other business support service activit... nan nan
3331349 PELHAMSTAR LIMITED 61 BROUGHTON AVENUE RICHMOND TW10 7UG Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
3355621 PETERSHAM CAPITAL LIMITED 10 ASHLEY GARDENS RICHMOND TW10 7BU Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
3555137 R&B PROPERTY MANAGEMENT LTD 45 LOCK ROAD RICHMOND TW10 7LQ Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... 68320 - Management of real estate on a fee or ... 98000 - Residents property management
3750297 RUGARE PROPERTIES LTD 9 STRETTON ROAD RICHMOND TW10 7QH Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
3990426 SMART LONDON PROPERTIES UK LTD 11 RANDLE ROAD RICHMOND TW10 7LT Private Limited Company Active 68100 - Buying and selling of own real estate 68202 - Letting and operating of conference an... 68209 - Other letting and operating of own or ... 68320 - Management of real estate on a fee or ...
4079466 SRISAN PROPERTIES LIMITED 10 KINGFISHER DRIVE RICHMOND TW10 7UD Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... nan nan
4106977 STATE OF THE ARK MUSIC LIMITED YEW TREE COTTAGE PETERSHAM TW10 7AT Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
4286112 THAMES DEVELOPMENTS GROUP LIMITED 6 FORGE LANE RICHMOND TW10 7BF Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
4286452 THAMES PROPERTIES LTD. 6 FORGE LANE RICHMOND TW10 7BF Private Limited Company Active 68100 - Buying and selling of own real estate nan nan nan
4286456 THAMES PROPERTY GROUP LIMITED 6 FORGE LANE RICHMOND TW10 7BF Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
4336282 THE HAM POLO CLUB GROUND LIMITED THE POLO OFFICE PETERSHAM ROAD RICHMOND TW10 7AH Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
4375120 THE PYL GROUP LTD 15 ARLINGTON ROAD RICHMOND TW10 7BX Private Limited Company Active 68209 - Other letting and operating of own or ... nan nan nan
4377966 THE RESIDENTIAL DEVELOPMENT FUND LIMITED PARKLAND HOUSE PETERSHAM RICHMOND TW10 7AT Private Limited Company Active 68100 - Buying and selling of own real estate 68209 - Other letting and operating of own or ... nan nan
4847017 YOUNGS ROOFING AND BUILDING SOLUTIONS LTD 50 MAGUIRE DRIVE RICHMOND TW10 7XY Private Limited Company Active 41100 - Development of building projects 43910 - Roofing activities nan nan

Still too many! Maybe if we look at the nearby streets:

  • Ham Street
  • Evelyn Road
  • Back Lane
  • Ham Common
  • Lock Road
  • Lovell Road
  • Cleves Road
  • The Bench
  • Mead Road
  • New Road
  • Ham Avenue

Back to blog

A Community Interest

C4AD was registered as a Private company limited by guarantee without share capital Community Interest Company (CIC). In short: not for profit and asset locked. The company's activities will provide benefit to those living in the South West London area and beyond with the use of Science, Technology, Engineering, Arts and Maths. STEM needs Arts to be successful so at C4AD S.T.E.A.M. is promoted: the aim is to demystify STEAM. The company is no more, but the activities continue as a free time activity!