Find an API

Search public APIs with auth details & Postman guides

← All APIs

Instec Specialty Insurance Platform API

instec.com · Company

Company API Key Paid Insurance Policy Administration Rating Specialty Lines

API for Instec — a cloud-based policy administration and rating platform purpose-built for specialty, excess, and surplus lines (E&S) insurers and MGAs. Instec supports complex, manuscript-form policies including professional liability, cyber, D&O, E&O, and environmental liability. The API enables wholesale broker portals, direct digital submission, and carrier integration for non-admitted markets.

Authentication

API Key API key issued per integration through the Instec partner program. Passed as a request header. Contact [email protected] for access.

Parameter name: X-Instec-ApiKey (in header)

Sample Requests

POST Submit E&O submission

Submits a new professional liability (E&O) submission for underwriting review. Returns submission ID and expected turnaround.

https://api.instec.com/platform/v2/submissions/professional-liability

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Content-Type application/json
X-Instec-ApiKey auth YOUR_API_KEY
Request Body — data you're sending
{
  "state": "DE",
  "broker": {
    "name": "Wholesale Brokerage Inc",
    "licenseNumber": "WB-12345"
  },
  "limits": {
    "perClaim": 1000000,
    "aggregate": 2000000
  },
  "revenue": 5000000,
  "subtype": "EO_Technology",
  "retroDate": "2018-01-01",
  "deductible": 25000,
  "insuredName": "TechCo Solutions LLC",
  "effectiveDate": "2024-06-01",
  "submissionType": "ProfessionalLiability",
  "yearsInBusiness": 7
}
curl -X POST "https://api.instec.com/platform/v2/submissions/professional-liability" \
  -H "Content-Type: application/json" \
  -H "X-Instec-ApiKey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"DE","broker":{"name":"Wholesale Brokerage Inc","licenseNumber":"WB-12345"},"limits":{"perClaim":1000000,"aggregate":2000000},"revenue":5000000,"subtype":"EO_Technology","retroDate":"2018-01-01","deductible":25000,"insuredName":"TechCo Solutions LLC","effectiveDate":"2024-06-01","submissionType":"ProfessionalLiability","yearsInBusiness":7}'
import requests
headers = {
    "Content-Type": "application/json",
    "X-Instec-ApiKey": "YOUR_API_KEY"
}
data = {
    "state": "DE",
    "broker": {
        "name": "Wholesale Brokerage Inc",
        "licenseNumber": "WB-12345"
    },
    "limits": {
        "perClaim": 1000000,
        "aggregate": 2000000
    },
    "revenue": 5000000,
    "subtype": "EO_Technology",
    "retroDate": "2018-01-01",
    "deductible": 25000,
    "insuredName": "TechCo Solutions LLC",
    "effectiveDate": "2024-06-01",
    "submissionType": "ProfessionalLiability",
    "yearsInBusiness": 7
}
response = requests.post(
    "https://api.instec.com/platform/v2/submissions/professional-liability",
    headers=headers,
    json=data,
)
print(response.json())
const url = 'https://api.instec.com/platform/v2/submissions/professional-liability';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Instec-ApiKey': 'YOUR_API_KEY'
  },
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
  "state": "DE",
  "broker": {
    "name": "Wholesale Brokerage Inc",
    "licenseNumber": "WB-12345"
  },
  "limits": {
    "perClaim": 1000000,
    "aggregate": 2000000
  },
  "revenue": 5000000,
  "subtype": "EO_Technology",
  "retroDate": "2018-01-01",
  "deductible": 25000,
  "insuredName": "TechCo Solutions LLC",
  "effectiveDate": "2024-06-01",
  "submissionType": "ProfessionalLiability",
  "yearsInBusiness": 7
}),
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"bytes"
	"encoding/json"
)

func main() {
	targetURL := "https://api.instec.com/platform/v2/submissions/professional-liability"
	jsonData, _ := json.Marshal({"state":"DE","broker":{"name":"Wholesale Brokerage Inc","licenseNumber":"WB-12345"},"limits":{"perClaim":1000000,"aggregate":2000000},"revenue":5000000,"subtype":"EO_Technology","retroDate":"2018-01-01","deductible":25000,"insuredName":"TechCo Solutions LLC","effectiveDate":"2024-06-01","submissionType":"ProfessionalLiability","yearsInBusiness":7})
	req, _ := http.NewRequest("POST", targetURL, bytes.NewBuffer(jsonData))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("X-Instec-ApiKey", "YOUR_API_KEY")
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.instec.com/platform/v2/submissions/professional-liability")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["Content-Type"] = "application/json"
req["X-Instec-ApiKey"] = "YOUR_API_KEY"
req["Content-Type"] = "application/json"
req.body = "{\"state\":\"DE\",\"broker\":{\"name\":\"Wholesale Brokerage Inc\",\"licenseNumber\":\"WB-12345\"},\"limits\":{\"perClaim\":1000000,\"aggregate\":2000000},\"revenue\":5000000,\"subtype\":\"EO_Technology\",\"retroDate\":\"2018-01-01\",\"deductible\":25000,\"insuredName\":\"TechCo Solutions LLC\",\"effectiveDate\":\"2024-06-01\",\"submissionType\":\"ProfessionalLiability\",\"yearsInBusiness\":7}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.instec.com/platform/v2/submissions/professional-liability";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "Content-Type: application/json",
        "X-Instec-ApiKey: YOUR_API_KEY",
        "Content-Type: application/json"
    ]),
    "content" => json_encode({"state":"DE","broker":{"name":"Wholesale Brokerage Inc","licenseNumber":"WB-12345"},"limits":{"perClaim":1000000,"aggregate":2000000},"revenue":5000000,"subtype":"EO_Technology","retroDate":"2018-01-01","deductible":25000,"insuredName":"TechCo Solutions LLC","effectiveDate":"2024-06-01","submissionType":"ProfessionalLiability","yearsInBusiness":7}),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get submission status

Returns the current underwriting status, any additional information requests, and quote details for a submitted risk.

https://api.instec.com/platform/v2/submissions/{submissionId}

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Instec-ApiKey auth YOUR_API_KEY
curl -X GET "https://api.instec.com/platform/v2/submissions/{submissionId}" \
  -H "X-Instec-ApiKey: YOUR_API_KEY"
import requests
headers = {
    "X-Instec-ApiKey": "YOUR_API_KEY"
}
response = requests.get(
    "https://api.instec.com/platform/v2/submissions/{submissionId}",
    headers=headers,
)
print(response.json())
const url = 'https://api.instec.com/platform/v2/submissions/{submissionId}';

const response = await fetch(url, {
  headers: {
    'X-Instec-ApiKey': 'YOUR_API_KEY'
  },
}); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	targetURL := "https://api.instec.com/platform/v2/submissions/{submissionId}"
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("X-Instec-ApiKey", "YOUR_API_KEY")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.instec.com/platform/v2/submissions/{submissionId}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["X-Instec-ApiKey"] = "YOUR_API_KEY"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.instec.com/platform/v2/submissions/{submissionId}";
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "X-Instec-ApiKey: YOUR_API_KEY"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. Contact [email protected] to enroll in the Instec partner program and receive an API key
  2. Instec specializes in E&S lines — product types: PL, Cyber, DO, EO, Env, Marine
  3. Submission workflow: Submit → Underwriting Review → Quote → Bind — track via submission ID
  4. Instec provides a sandbox environment with simulated underwriting responses
  5. Wholesale broker license validation occurs at submission time — ensure broker data is accurate
  6. Policy documents (binders, policies) returned as signed PDF URLs upon bind

What can you build with Instec Specialty Insurance Platform API?

Instec Specialty Insurance Platform API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

API Key authentication. You'll receive a key after signing up. Send it with every request — in a header or query parameter. Keep it out of client-side code and never commit it to version control. Instec Specialty Insurance Platform API is a paid API — check the provider's pricing page before building a production integration.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗