cURL
curl --no-buffer --request GET \
--url 'https://api.edgeful.com/screener_pubsub?market_type=<market_type>' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/screener_pubsub?market_type=<market_type>"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers, stream=True)
for line in response.iter_lines():
if line:
print(line.decode())const url = "https://api.edgeful.com/screener_pubsub?market_type=<market_type>";
const response = await fetch(url, {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
console.log(decoder.decode(value));
}<?php
$ch = curl_init("https://api.edgeful.com/screener_pubsub?market_type=<market_type>");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 1);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch, $data) {
echo $data;
ob_flush();
flush();
return strlen($data);
});
curl_exec($ch);
curl_close($ch);package main
import (
"bufio"
"fmt"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/screener_pubsub?market_type=<market_type>", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/screener_pubsub?market_type=<market_type>"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<java.io.InputStream> response = client.send(
request, HttpResponse.BodyHandlers.ofInputStream());
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(response.body()))) {
reader.lines().forEach(System.out::println);
}require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/screener_pubsub?market_type=<market_type>")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request) do |response|
response.read_body do |chunk|
print chunk
end
end
end{
"detail": {
"detail": "Live data is not available on your current plan. Please upgrade to the Pro or All Access plan to gain access.",
"code": "live_data_not_allowed"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}live data
screener pubsub
live stream of screener data for the requested market and session. sends the current data immediately on connect, then pushes updates as prices change. each event is a JSON object keyed by ticker symbol.
GET
/
screener_pubsub
cURL
curl --no-buffer --request GET \
--url 'https://api.edgeful.com/screener_pubsub?market_type=<market_type>' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/screener_pubsub?market_type=<market_type>"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers, stream=True)
for line in response.iter_lines():
if line:
print(line.decode())const url = "https://api.edgeful.com/screener_pubsub?market_type=<market_type>";
const response = await fetch(url, {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
console.log(decoder.decode(value));
}<?php
$ch = curl_init("https://api.edgeful.com/screener_pubsub?market_type=<market_type>");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 1);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch, $data) {
echo $data;
ob_flush();
flush();
return strlen($data);
});
curl_exec($ch);
curl_close($ch);package main
import (
"bufio"
"fmt"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/screener_pubsub?market_type=<market_type>", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/screener_pubsub?market_type=<market_type>"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<java.io.InputStream> response = client.send(
request, HttpResponse.BodyHandlers.ofInputStream());
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(response.body()))) {
reader.lines().forEach(System.out::println);
}require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/screener_pubsub?market_type=<market_type>")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request) do |response|
response.read_body do |chunk|
print chunk
end
end
end{
"detail": {
"detail": "Live data is not available on your current plan. Please upgrade to the Pro or All Access plan to gain access.",
"code": "live_data_not_allowed"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Use your Edgeful API key as the bearer token. In the API Reference authorization drawer, paste only the key (for example, ef_live_<random>).
Query Parameters
type of market to stream data for. use all to stream stocks and futures together.
Available options:
all, stock, futures trading session to subscribe to; one of NY, LONDON, ASIA.
Available options:
NY, LONDON, ASIA Response
Successful Response
Was this page helpful?
⌘I