REST API

Developers can access MAXWELL's "World of Private offering" database by means of REST API. The MAXWELL API uses HTTP methods and a RESTful endpoint structure.

Private offering database contains publicly available Form-D submitted to SEC's EDGAR system since 1-January-2015. Update frequency of filings with EDGAR is 2 hours.

To Make REST call, you need API Key. Registered user can get API key from their Settings page.

END POINTS

POST /login

Get Authorization Token to use in API.

Example Request:

curl --request POST \
  --url http://162.243.207.161:5001/login \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{"email":"abc@xyz.com", "password":"12456"}'
import requests

url = "http://162.243.207.161:5001/login"

payload = "{\"email\":\"abc@xyz.com\", \"password\":\"12456\"}"
headers = {
    'content-type': "application/json",
    'cache-control': "no-cache"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
    
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"email\":\"abc@xyz.com\", \"password\":\"12456\"}");
Request request = new Request.Builder()
  .url("http://162.243.207.161:5001/login")
  .post(body)
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var request = require("request");

var options = { method: 'POST',
  url: 'http://162.243.207.161:5001/login',
  headers:
   { 'cache-control': 'no-cache',
     'content-type': 'application/json' },
  body: { email: 'abc@xyz.com', password: '12456' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://162.243.207.161:5001/login"

	payload := strings.NewReader("{\"email\":\"abc@xyz.com\", \"password\":\"12456\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("cache-control", "no-cache")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Success Response:

{
  "meta": {
    "code": 200
  },
  "response": {
    "user": {
      "authentication_token": "WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg",
      "id": "5725c881e88c5f053c400aaq"
    }
  }
}

Error Response:

{
  "meta": {
    "code": 400
  },
  "response": {
    "errors": {
      "password": [
        "Invalid password"
      ]
    }
  }
}



POST /api/v1/

Get user details(e.g. API Key, subscription status).

Required
  • "Authorization" header with its value as "Token <api_key>".
  • "Content-Type" as "application/json"
  • Data as a Javascript object of "filters", "skip" and "limit"
    1. skip[int]   :    Skip given number of filings. Default is '0'.
    2. limit[int]   :    Limit given number of filings in result. Default is '25'. Maximum limit is 200.
    3. filters[object]    :    "Copy" applied filters object from the "Filter option" provides at homepage.

Example Request:

curl --request POST \
  --url http://162.243.207.161:5001/api/v1/ \
  --header 'authentication-token: WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{"filters":{"offeringData":{"durationOfOffering":{"moreThanOneYear":true},"industryGroup":{"industryGroupType":["Pooled Investment Fund","Investment Banking","Investing"]},"minimumInvestmentAccepted":45000,"typesOfSecuritiesOffered":{"isDebtType":true}}},"skip": 0,"limit": 2}'
import requests

url = "http://162.243.207.161:5001/api/v1/"

payload = "{\"filters\":{\"offeringData\":{\"durationOfOffering\":{\"moreThanOneYear\":true},\"industryGroup\":{\"industryGroupType\":[\"Pooled Investment Fund\",\"Investment Banking\",\"Investing\"]},\"minimumInvestmentAccepted\":45000,\"typesOfSecuritiesOffered\":{\"isDebtType\":true}}},\"skip\": 0,\"limit\": 2}"
headers = {
    'authentication-token': "WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg",
    'content-type': "application/json",
    'cache-control': "no-cache"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"filters\":{\"offeringData\":{\"durationOfOffering\":{\"moreThanOneYear\":true},\"industryGroup\":{\"industryGroupType\":[\"Pooled Investment Fund\",\"Investment Banking\",\"Investing\"]},\"minimumInvestmentAccepted\":45000,\"typesOfSecuritiesOffered\":{\"isDebtType\":true}}},\"skip\": 0,\"limit\": 2}");
Request request = new Request.Builder()
  .url("http://162.243.207.161:5001/api/v1/")
  .post(body)
  .addHeader("authentication-token", "WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var request = require("request");

var options = { method: 'POST',
  url: 'http://162.243.207.161:5001/api/v1/',
  headers:
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     'authentication-token': 'WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg' },
  body:
   { filters:
      { offeringData:
         { durationOfOffering: { moreThanOneYear: true },
           industryGroup: { industryGroupType: [ 'Pooled Investment Fund', 'Investment Banking', 'Investing' ] },
           minimumInvestmentAccepted: 45000,
           typesOfSecuritiesOffered: { isDebtType: true } } },
     skip: 0,
     limit: 2 },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://162.243.207.161:5001/api/v1/"

	payload := strings.NewReader("{\"filters\":{\"offeringData\":{\"durationOfOffering\":{\"moreThanOneYear\":true},\"industryGroup\":{\"industryGroupType\":[\"Pooled Investment Fund\",\"Investment Banking\",\"Investing\"]},\"minimumInvestmentAccepted\":45000,\"typesOfSecuritiesOffered\":{\"isDebtType\":true}}},\"skip\": 0,\"limit\": 2}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("authentication-token", "WyI1N4myYzExNGU5N2M1ZjA1M2M0MDBiYjMiLCI4NTRmM2YxYzBhNjUwMDllZjZlMTA2YjIyNmI2MGViNiJd.CrM1uQ.gJQYr-KQTU248saCFwAgwUh1-Cg")
	req.Header.Add("content-type", "application/json")
	req.Header.Add("cache-control", "no-cache")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Success Response:

{
    "count": 22,
    "result": [
        {
            "_id": "0001679429-16-000002",
            "offeringData": {
                "businessCombinationTransaction": {
                    "isBusinessCombinationTransaction": "false"
                },
                "durationOfOffering": {
                    "moreThanOneYear": "true"
                },
                "federalExemptionsExclusions": {
                    "item": "06b"
                },
                "industryGroup": {
                    "industryGroupType": "Pooled Investment Fund",
                    "investmentFundInfo": {
                        "investmentFundType": "Other Investment Fund",
                        "is40Act": "false"
                    }
                },
                "issuerSize": {
                    "aggregateNetAssetValueRange": "Decline to Disclose"
                },
                "minimumInvestmentAccepted": 100000,
                "offeringSalesAmounts": {
                    "clarificationOfResponse": null,
                    "totalAmountSold": 2000000,
                    "totalOfferingAmount": 5000000,
                    "totalRemaining": 3000000
                },
                "salesCompensationList": null,
                "signatureBlock": {
                    "signature": {
                        "signatureDate": "Thu, 04 Aug 2016 00:00:00 GMT"
                    }
                },
                "typesOfSecuritiesOffered": {
                    "isDebtType": "true"
                }
            },
            "primaryIssuer": {
                "cik": 1679429,
                "edgarPreviousNameList": [
                    {
                        "value": null
                    }
                ],
                "entityName": "Global Partnerships/Eleos Social Venture Fund, LLC",
                "entityType": "Limited Liability Company",
                "issuerAddress": {
                    "city": "SEATTLE",
                    "stateOrCountry": "WA",
                    "stateOrCountryDescription": "WASHINGTON",
                    "street1": "1932 FIRST AVENUE",
                    "street2": "STE 400",
                    "zipCode": 98101
                },
                "issuerPhoneNumber": "206-652-8773",
                "issuerPreviousNameList": [
                    {
                        "value": null
                    }
                ],
                "jurisdictionOfInc": "DELAWARE",
                "yearOfInc": {
                    "value": 2016,
                    "withinFiveYears": "true"
                }
            },
            "submissionType": "D"
        },
        {
            "_id": "0001678901-16-000001",
            "offeringData": {
                "businessCombinationTransaction": {
                    "isBusinessCombinationTransaction": "false"
                },
                "durationOfOffering": {
                    "moreThanOneYear": "true"
                },
                "federalExemptionsExclusions": {
                    "item": "06c"
                },
                "industryGroup": {
                    "industryGroupType": "Pooled Investment Fund",
                    "investmentFundInfo": {
                        "investmentFundType": "Other Investment Fund",
                        "is40Act": "false"
                    }
                },
                "issuerSize": {
                    "aggregateNetAssetValueRange": "Decline to Disclose"
                },
                "minimumInvestmentAccepted": 50000,
                "offeringSalesAmounts": {
                    "clarificationOfResponse": null,
                    "totalAmountSold": 0,
                    "totalOfferingAmount": 500000000,
                    "totalRemaining": 500000000
                },
                "salesCompensationList": null,
                "signatureBlock": {
                    "signature": {
                        "signatureDate": "Wed, 06 Jul 2016 00:00:00 GMT"
                    }
                },
                "typesOfSecuritiesOffered": {
                    "descriptionOfOtherType": "Whole Loans and Fractionalized Interests",
                    "isDebtType": "true",
                    "isEquityType": "true",
                    "isOtherType": "true",
                    "isPooledInvestmentFundType": "true"
                }
            },
            "primaryIssuer": {
                "cik": 1678901,
                "edgarPreviousNameList": [
                    {
                        "value": null
                    }
                ],
                "entityName": "AList Partners Regional Center, LLC",
                "entityType": "Limited Liability Company",
                "issuerAddress": {
                    "city": "AUSTIN",
                    "stateOrCountry": "TX",
                    "stateOrCountryDescription": "TEXAS",
                    "street1": "401 CONGRESS AVENUE, SUITE 1540",
                    "zipCode": 78701
                },
                "issuerPhoneNumber": "512-687-6263",
                "issuerPreviousNameList": [
                    {
                        "value": null
                    }
                ],
                "jurisdictionOfInc": "TEXAS",
                "yearOfInc": {
                    "value": 2015,
                    "withinFiveYears": "true"
                }
            },
            "submissionType": "D"
        }
    ]
}