Ingest Market Signals
curl --request POST \
--url https://www.signalark.app/_api/v1/signals/ingest \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"signals": [
{
"company_name": "<string>",
"signal_name": "<string>",
"company_domain": "<string>",
"description": "<string>",
"source_url": "<string>",
"detected_at": "2023-11-07T05:31:56Z"
}
]
}
'import requests
url = "https://www.signalark.app/_api/v1/signals/ingest"
payload = { "signals": [
{
"company_name": "<string>",
"signal_name": "<string>",
"company_domain": "<string>",
"description": "<string>",
"source_url": "<string>",
"detected_at": "2023-11-07T05:31:56Z"
}
] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signals: [
{
company_name: '<string>',
signal_name: '<string>',
company_domain: '<string>',
description: '<string>',
source_url: '<string>',
detected_at: '2023-11-07T05:31:56Z'
}
]
})
};
fetch('https://www.signalark.app/_api/v1/signals/ingest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.signalark.app/_api/v1/signals/ingest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signals' => [
[
'company_name' => '<string>',
'signal_name' => '<string>',
'company_domain' => '<string>',
'description' => '<string>',
'source_url' => '<string>',
'detected_at' => '2023-11-07T05:31:56Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.signalark.app/_api/v1/signals/ingest"
payload := strings.NewReader("{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.signalark.app/_api/v1/signals/ingest")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.signalark.app/_api/v1/signals/ingest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"batchId": "<string>",
"stats": {
"accepted": 123,
"deduplicated": 123,
"rejected": 123
}
}API Reference
Ingest Market Signals
Batch ingest standard market signals into the SignalArk pipeline.
POST
/
v1
/
signals
/
ingest
Ingest Market Signals
curl --request POST \
--url https://www.signalark.app/_api/v1/signals/ingest \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"signals": [
{
"company_name": "<string>",
"signal_name": "<string>",
"company_domain": "<string>",
"description": "<string>",
"source_url": "<string>",
"detected_at": "2023-11-07T05:31:56Z"
}
]
}
'import requests
url = "https://www.signalark.app/_api/v1/signals/ingest"
payload = { "signals": [
{
"company_name": "<string>",
"signal_name": "<string>",
"company_domain": "<string>",
"description": "<string>",
"source_url": "<string>",
"detected_at": "2023-11-07T05:31:56Z"
}
] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signals: [
{
company_name: '<string>',
signal_name: '<string>',
company_domain: '<string>',
description: '<string>',
source_url: '<string>',
detected_at: '2023-11-07T05:31:56Z'
}
]
})
};
fetch('https://www.signalark.app/_api/v1/signals/ingest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.signalark.app/_api/v1/signals/ingest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signals' => [
[
'company_name' => '<string>',
'signal_name' => '<string>',
'company_domain' => '<string>',
'description' => '<string>',
'source_url' => '<string>',
'detected_at' => '2023-11-07T05:31:56Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.signalark.app/_api/v1/signals/ingest"
payload := strings.NewReader("{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.signalark.app/_api/v1/signals/ingest")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.signalark.app/_api/v1/signals/ingest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signals\": [\n {\n \"company_name\": \"<string>\",\n \"signal_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"description\": \"<string>\",\n \"source_url\": \"<string>\",\n \"detected_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"batchId": "<string>",
"stats": {
"accepted": 123,
"deduplicated": 123,
"rejected": 123
}
}Use this endpoint to push batch market signals (news, funding, jobs, tech stack changes) into SignalArk.
Request Body
Provide an array ofExternalSignal objects under the signals key. Max 100 signals per batch.
Required Fields per Signal:
company_name(string)company_domain(string) - Critical for account matching.signal_title(string)signal_source(enum:funding,job_posting,linkedin,news,review_site,tech_install,twitter,web_visit,other)
detected_at(ISO 8601 Date)signal_family(string) - Recommended for accurate classification.description/notes(string)- Firmographic hints:
industry,funding_amount,employee_count,location hotness_score(number)
Response
The response includes processing statistics, letting you know how many signals were accepted, how many were deduplicated, and how many failed validation.Was this page helpful?
⌘I