logo

Crowd4Cash REST API

Our API is a flexible, efficient, and easy to use RESTful API for getting a list of the C4C loans.

Supported programming languages

The Crowd4Cash REST API itself doesn't have a language restriction.

Authentication

To use our API you need to be authenticated using an API key issued by C4C.

Request an API Key here

Note: please don't leak your API key to anyone else.

Terminology

The definition of the used data structures is primarily in English. For specific API elements, we use original German terms to avoid double meanings.

Basic Usage

To use our API, include your API key and make a request. For example:

Loans Resource

C# Example:

var language = "en"; // can be 'de' though
var url_all_open_loans = $"https://api.crowd4cash.ch/loans/{language}?key=YOUR_API_KEY_HERE";
var url_specific_loan = $"https://api.crowd4cash.ch/loans/{language}/125?key=YOUR_API_KEY_HERE";        
using (var httpClient = new HttpClient())
{
    var response = httpClient.GetStringAsync(new Uri(url_all_open_loans)).Result;

    // Do something with the response
}

For more information please check our demo page.

PHP Example:

$url = "https://api.crowd4cash.ch/loans/en?key=YOUR_API_KEY_HERE";
$resource = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Accept:application/json, Content-Type:application/json']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

Response example #1 - Private Borrower:

{
    "loans": [
        {
            "id": 434,
            "dateCreated": "29.05.2019",
            "dateApproved": "29.05.2019",
            "loanAmount": 12500,
            "interestRate": 7,
            "duration": 60,
            "borrowerType": "Private",
            "biddingType": "Private Loan",
            "loanPurpose": "Miscellaneous",
            "loanRating": "C",
            "loanStatus": "In Funding",
            "collateral": "No",
            "insurance": "Yes",
            "openAmount": 6400,
            "biddingEnd": "26.06.2019",
            "notes": "I would like to celebrate our wedding with my fiancée followed by a honeymoon,
            "link": "https://crowd4cash.ch/loan-details/434",
            "borrowerPrivate": {
                "zip": "6332",
                "city": "Hagendorn",
                "age": 33,
                "category": "Private",
                "housingCondition": "Partnership sharing an apartment",
                "residentialSituation": "Tenant",
                "nationality": "Switzerland",
                "children": 0,
                "profession": "Mikrobiologe",
                "workSince": "01.02.2016",
                "solvency": "OK",
                "monthlyNetIncome": 7475,
                "partnerIncome": 0,
                "availableAmount": 3425,
                "availableAmountPercentage": 7.22,
                "monthlyPayment": 247.5127,
                "collectionProcedures": "No"
            },
            "borrowerCompany": null,
            "income": {
                "profession": "Mikrobiologe",
                "employmentType": "Employed With Open-Ended Contract",
                "employmentRelationshipUnderNotice": "No",
                "workSince": "2016-02-01T00:00:00",
                "numberOfSalaries": 13,
                "monthlyNetIncome": 6900,
                "bonusAverage": 0,
                "additionalIncome": "No",
                "additionalIncomeType": "",
                "additionalIncomeAmount": 0,
                "partnerIncome": "No",
                "partnerProfession": "",
                "partnerWorkSince": "",
                "partnerEmployerName": "",
                "partnerEmployerAddress": "",
                "partnerEmployerCity": "",
                "partnerEmployerZip": "",
                "partnerNumberOfSalaries": 0,
                "partnerMonthlyNetIncome": 0,
                "partnerBonusAverage": 0
            },
            "expense": {
                "taxAtSource": 0,
                "housingCondition": "Partnership sharing an apartment",
                "residentalSituation": "Tenant",
                "monthlyRent": 3400,
                "monthlyMortgage": 0,
                "mortgageAmount": 0,
                "anotherLoan": "No",
                "anotherLoanLender": "",
                "anotherLoanAmount": 0,
                "anotherLoanInterestRate": 0,
                "anotherLoanMonthlyPayment": 0,
                "payCostSolely": "No",
                "insuranceMonthlyCost": 500,
                "privateTransportMonthlyCost": 100,
                "publicTransportMonthlyCost": 0,
                "monthlyCostPortion": 1700,
                "dependentChildren": "No",
                "childrenYoungerThanTen": 0,
                "childrenOlderThanTen": 0,
                "alimonyOrChildSupport": "No",
                "alimonyOrChildSupportAmount": 0,
                "furtherRecurringMonthlyCost": "No",
                "furtherRecurringMonthlyCost1Amount": 0,
                "furtherRecurringMonthlyCost1Description": "",
                "furtherRecurringMonthlyCost2Amount": 0,
                "furtherRecurringMonthlyCost2Description": ""
            },
            "bisnode": null,
            "questionnaire": null,
            "financial": null
        }
    ],
    "result": {
        "status": "OK"
    }
}
        

Response example #2 - SME Borrower:

{
    "loans": [
        {
            "id": 443,
            "dateCreated": "04.06.2019",
            "dateApproved": "12.06.2019",
            "loanAmount": 155000,
            "interestRate": 5.25,
            "duration": 60,
            "borrowerType": "SME",
            "biddingType": "Private Loan",
            "loanPurpose": "Ensure liquidity",
            "loanRating": "AA",
            "loanStatus": "In Funding",
            "collateral": "Yes",
            "insurance": "No",
            "openAmount": 40800,
            "biddingEnd": "01.07.2019",
            "notes": "Due to a worse year in 2018, liquidity has been weakened and ...",
            "link": "https://crowd4cash.ch/loan-details/443",
            "borrowerPrivate": null,
            "borrowerCompany": {
                "legalForm": "Public limited company",
                "yearEstablished": 1996,
                "city": "Egerkingen",
                "sector": "Architectural and engineering offices",
                "numberOfEmployees": 2
            },
            "income": null,
            "expense": null,
            "bisnode": null,
            "questionnaire": {
                "knownIssues": "No",
                "knownIssuesDescription": "",
                "majorIssues": "No",
                "majorIssuesDescription": "",
                "financialRecovery": "No",
                "financialRecoveryDescription": "",
                "optionTeam": "Between 1 and 5 years",
                "optionAudit": "Limited audit",
                "optionRevenue": "Under 25%",
                "optionPrice": "Stable",
                "marketEstimation": "Der Markt ist umkämpft und nur gut Positionierte ...",
                "marketPosition": "Wir sind breit aufgestellt mit mehreren Bereichen ...",
                "marketRisk": "Das Grösste Risiko liegt darin fähiges und Qualitative ...",
                "currentRevenue": "Stable",
                "revenueGrowth": "Stable",
                "ebitdaMargin": "Slight increase"
            },
            "financial": {
                "liquidFunds_Year1": 2000,
                "liquidFunds_Year2": 30000,
                "accountsReceivable_Year1": 70000,
                "accountsReceivable_Year2": 81000,
                "stocks_Year1": 100000,
                "stocks_Year2": 128000,
                "currentAssets_Other_Year1": 23000,
                "currentAssets_Other_Year2": 0,
                "currentAssets_Year1_SUM": 195000,
                "currentAssets_Year2_SUM": 239000,
                "machinesAndSystems_Year1": 210000,
                "machinesAndSystems_Year2": 270000,
                "facilitiesAndVehiclePark_Year1": 3000,
                "facilitiesAndVehiclePark_Year2": 3000,
                "fixedAssets_Other_Year1": 3432000,
                "fixedAssets_Other_Year2": 3500000,
                "fixedAssets_Year1_SUM": 3645000,
                "fixedAssets_Year2_SUM": 3773000,
                "totalAssets_Year1": 3840000,
                "totalAssets_Year2": 4012000,
                "accountsPayable_Year1": 134000,
                "accountsPayable_Year2": 110000,
                "shortTermLoans_Year1": 746000,
                "shortTermLoans_Year2": 515000,
                "curentLiabilities_Other_Year1": 127000,
                "curentLiabilities_Other_Year2": 135000,
                "curentLiabilities_Year1_SUM": 1007000,
                "curentLiabilities_Year2_SUM": 760000,
                "longTermLoans_Year1": 1800000,
                "longTermLoans_Year2": 2250000,
                "accruals_Year1": 33000,
                "accruals_Year2": 18000,
                "longTermLiabilities_Other_Year1": 0,
                "longTermLiabilities_Other_Year2": 0,
                "longTermLiabilities_Year1_SUM": 1833000,
                "longTermLiabilities_Year2_SUM": 2268000,
                "equity_Year1": 1000000,
                "equity_Year2": 1000000,
                "totalLiabilities_Year1_SUM": 3840000,
                "totalLiabilities_Year2_SUM": 4028000,
                "salesProceeds_Year1": 2320000,
                "salesProceeds_Year2": 2726000,
                "costOfGoods_Year1": 555000,
                "costOfGoods_Year2": 612000,
                "grossProfit_Year1_SUM": 1765000,
                "grossProfit_Year2_SUM": 2114000,
                "operatingExpenses_Year1": 1641000,
                "operatingExpenses_Year2": 1848000,
                "ebidta_Year1_SUM": 124000,
                "ebidta_Year2_SUM": 266000,
                "depreciation_Year1": 111000,
                "depreciation_Year2": 60000,
                "ebit_Year1_SUM": 13000,
                "ebit_Year2_SUM": 206000,
                "financialExpenses_Year1": 8000,
                "financialExpenses_Year2": 28000,
                "netIncomeBeforeTaxes_Year1_SUM": 5000,
                "netIncomeBeforeTaxes_Year2_SUM": 178000,
                "incomeTaxes_Year1": 1984,
                "incomeTaxes_Year2": 4302,
                "netProfit_Year1_SUM": 3016,
                "netProfit_Year2_SUM": 173698,
                "beginningOfYearFinancials_Year1": 20000,
                "beginningOfYearFinancials_Year2": 80000,
                "cashFlowOperating_Year1": 0,
                "cashFlowOperating_Year2": 50000,
                "cashFlowInvesting_Year1": 0,
                "cashFlowInvesting_Year2": 30000,
                "cashFlowFinancing_Year1": 0,
                "cashFlowFinancing_Year2": 0,
                "cashFlow_Year1_SUM": 0,
                "cashFlow_Year2_SUM": 80000,
                "endOfYearFinancials_Year1_SUM": 20000,
                "endOfYearFinancials_Year2_SUM": 160000
            }
        }
    ],
    "result": {
        "status": "OK"
    }
}
        

Response example #3 - Missing API Key:

{
    "loans": [],
    "result": {
        "status": "FORBIDDEN"
    }
}
        

Response example #4 - Incorrect API Key:

{
    "loans": [],
    "result": {
        "status": "UNAUTHORIZED"
    }
}
        

Note: click on the link to open an example and examine the data

 

Investments Resource

C# Example:

var language = "en"; // can be 'de' though
var url_all_your_investments = $"https://api.crowd4cash.ch/investments/{language}?key=YOUR_API_KEY_HERE";
var url_specific_investment = $"https://api.crowd4cash.ch/investments/{language}/125?key=YOUR_API_KEY_HERE";        
using (var httpClient = new HttpClient())
{
    var response = httpClient.GetStringAsync(new Uri(url_all_your_investments)).Result;

    // Do something with the response
}

PHP Example:

$url = "https://api.crowd4cash.ch/investments/en?key=YOUR_API_KEY_HERE";
$resource = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Accept:application/json, Content-Type:application/json']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

Python Example:

import requests
import json

url = "http://api.crowd4cash.ch/investments/en?key=YOUR_API_KEY_HERE"
response = requests.get(url);
if(response.ok):
    jsonData = json.loads(response.content)
    # do something with the json data

Response example #1 - Your Investments:

{
    "loans": [
        {
            "id":2117,
            "dateCreated":"11.03.2020",
            "dateApproved":"11.03.2020",
            "loanAmount":8000.00,
            "lastPaymentDate":"14.09.2020",
            "interestRate":6.56,"duration":12,
            "borrowerType":"Private",
            "biddingType":"Private Loan",
            "loanPurpose":"Furnishing",
            "loanRating":"B",
            "loanStatus":"Active",
            "performanceStatus":"Performing",
            "daysLate":-34,
            "collateral":"No",
            "insurance":"Yes",
            "totalPrincipalRemaining":3397.05,
            "totalRepaidPrincipal":3934.58,
            "totalRepaidInterest":208.97,
            "openAmount":0.00,
            "biddingEnd":"18.03.2020",
            "disbursementDate":"2020-03-27T17:17:42.963",
            "investmentDate":"2020-03-12T13:00:29.14",
            "share":0.06,
            "vFac":1.00,
            "loanPosition":212.32,
            "notes":"Purchase of furniture",
            "link":"https://crowd4cash.ch/loan-details/2117",
            "bid":{
                "dateCreated":"12.03.2020",
                "dateAccepted":"12.03.2020",
                "amount":500.00
            },
            "borrowerPrivate":{
                "zip":"5630",
                "city":"Muri",
                "age":29,
                "category":"Private",
                "housingCondition":"Married sharing an apartment",
                "residentialSituation":"Tenant",
                "nationality":"Switzerland",
                "children":0,
                "profession":"Pizzaiolo",
                "workSince":"01.07.2010",
                "solvency":"OK",
                "monthlyNetIncome":8883.33,
                "partnerIncome":2200.00,
                "availableAmount":3815.33,
                "availableAmountPercentage":18.10,
                "monthlyPayment":690.59,
                "collectionProcedures":"No"
                },
                "borrowerCompany":null,
                "income":{
                    "profession":"Pizzaiolo",
                    "employmentType":"Employed With Open-Ended Contract",
                    "employmentRelationshipUnderNotice":"No",
                    "workSince":"01.07.2010",
                    "numberOfSalaries":13,
                    "monthlyNetIncome":6000.00,
                    "bonusAverage":0.00,
                    "additionalIncome":"No",
                    "additionalIncomeType":"",
                    "additionalIncomeAmount":0.00,
                    "partnerIncome":"Yes",
                    "partnerProfession":"Reinigung- und Küchenhilfe",
                    "partnerWorkSince":"01.02.2019",
                    "partnerEmployerName":"Restaurant Tomate",
                    "partnerEmployerAddress":"Luzernerstrasse 566",
                    "partnerEmployerCity":"Muri",
                    "partnerEmployerZip":"5630",
                    "partnerNumberOfSalaries":13,
                    "partnerMonthlyNetIncome":2200.00,
                    "partnerBonusAverage":0.00
                },
                "expense":{
                    "taxAtSource":1118.00,
                    "housingCondition":"Married sharing an apartment",
                    "residentalSituation":"Tenant",
                    "monthlyRent":1610.00,
                    "monthlyMortgage":0.00,
                    "mortgageAmount":0.00,
                    "anotherLoan":"Yes",
                    "anotherLoanLender":"Bank Now ",
                    "anotherLoanAmount":19000.00,
                    "anotherLoanInterestRate":0.00,
                    "anotherLoanMonthlyPayment":700.00,
                    "payCostSolely":"No",
                    "insuranceMonthlyCost":500.00,
                    "privateTransportMonthlyCost":0.00,
                    "publicTransportMonthlyCost":0.00,
                    "monthlyCostPortion":1000.00,
                    "dependentChildren":"No",
                    "childrenYoungerThanTen":0,
                    "childrenOlderThanTen":0,
                    "alimonyOrChildSupport":"No",
                    "alimonyOrChildSupportAmount":0.00,
                    "furtherRecurringMonthlyCost":"No",
                    "furtherRecurringMonthlyCost1Amount":0.00,
                    "furtherRecurringMonthlyCost1Description":"",
                    "furtherRecurringMonthlyCost2Amount":0.00,
                    "furtherRecurringMonthlyCost2Description":""
                },
                "crif":null,
                "questionnaire":null,
                "financial":null,
                "amortizationSchedule":{
                    "payments":[
                        {"annuityNumber":1,"annuityDate":"26.04.2020","annuityAmount":711.66,"principalPortion":646.86,"interestPortion":43.73,"principalBalance":7353.14,"isPaid":"Yes","datePaid":"12.05.2020","note":""},
                        {"annuityNumber":2,"annuityDate":"26.05.2020","annuityAmount":711.66,"principalPortion":650.40,"interestPortion":40.20,"principalBalance":6702.75,"isPaid":"Yes","datePaid":"15.05.2020","note":""},
                        {"annuityNumber":3,"annuityDate":"26.06.2020","annuityAmount":711.66,"principalPortion":653.95,"interestPortion":36.64,"principalBalance":6048.80,"isPaid":"Yes","datePaid":"26.06.2020","note":""},
                        {"annuityNumber":4,"annuityDate":"26.07.2020","annuityAmount":711.66,"principalPortion":657.53,"interestPortion":33.07,"principalBalance":5391.27,"isPaid":"Yes","datePaid":"12.08.2020","note":""},
                        {"annuityNumber":5,"annuityDate":"26.08.2020","annuityAmount":711.66,"principalPortion":661.12,"interestPortion":29.47,"principalBalance":4730.15,"isPaid":"Yes","datePaid":"10.09.2020","note":""},
                        {"annuityNumber":6,"annuityDate":"26.09.2020","annuityAmount":711.66,"principalPortion":664.73,"interestPortion":25.86,"principalBalance":4065.42,"isPaid":"Yes","datePaid":"10.09.2020","note":""},
                        {"annuityNumber":7,"annuityDate":"26.10.2020","annuityAmount":711.66,"principalPortion":668.37,"interestPortion":22.22,"principalBalance":3397.05,"isPaid":"No","datePaid":"/","note":""},
                        {"annuityNumber":8,"annuityDate":"26.11.2020","annuityAmount":711.66,"principalPortion":672.02,"interestPortion":18.57,"principalBalance":2725.03,"isPaid":"No","datePaid":"/","note":""},
                        {"annuityNumber":9,"annuityDate":"26.12.2020","annuityAmount":711.66,"principalPortion":675.70,"interestPortion":14.90,"principalBalance":2049.33,"isPaid":"No","datePaid":"/","note":""},
                        {"annuityNumber":10,"annuityDate":"26.01.2021","annuityAmount":711.66,"principalPortion":679.39,"interestPortion":11.20,"principalBalance":1369.94,"isPaid":"No","datePaid":"/","note":""},
                        {"annuityNumber":11,"annuityDate":"26.02.2021","annuityAmount":711.66,"principalPortion":683.10,"interestPortion":7.49,"principalBalance":686.84,"isPaid":"No","datePaid":"/","note":""},
                        {"annuityNumber":12,"annuityDate":"26.03.2021","annuityAmount":711.66,"principalPortion":686.84,"interestPortion":3.75,"principalBalance":0.00,"isPaid":"No","datePaid":"/","note":""}
                    ]
                },
                "accountStatement":{
                    "entries":[
                        {"annuityNumber":1,"dueDate":"26.04.2020","messageDate":"13.05.2020","matchingDate":"13.05.2020","amount":711.66},
                        {"annuityNumber":2,"dueDate":"26.05.2020","messageDate":"16.05.2020","matchingDate":"16.05.2020","amount":711.66},
                        {"annuityNumber":3,"dueDate":"26.06.2020","messageDate":"27.06.2020","matchingDate":"27.06.2020","amount":711.66},
                        {"annuityNumber":4,"dueDate":"26.07.2020","messageDate":"13.08.2020","matchingDate":"13.08.2020","amount":711.66},
                        {"annuityNumber":5,"dueDate":"26.08.2020","messageDate":"11.09.2020","matchingDate":"11.09.2020","amount":711.66},
                        {"annuityNumber":6,"dueDate":"26.09.2020","messageDate":"11.09.2020","matchingDate":"11.09.2020","amount":711.66}
                    ]
                },
            "technicalData":null}
            ],
    "result":{
        "status":"OK",
        "statusCode":200
    }
}
        

Note: click on the link to open an example and examine the data

 

Conclusion

So, to summarize, to use our API you can use some .NET libraries (HttpWebRequest, WebClient, and HttpClient), some extensions for PHP like Curl and Guzzle, as well as some third-party tools like RestSharp.

We believe that now you are at least 99% ready to consume our REST API. Enjoy!

 

Copyright 2017 © Crowd Solutions AG. All Rights Reserved.