Put simply it’s a message sent to a URL whenever something happens.
Webhooks are a common communication mechanism used in many event-based systems. Inside Benzinga systems, an event is triggered when a piece of news is published or updated. For clients this means you can choose to have event data delivered from Benzinga to your system as soon as it happens inside our systems. This allows you to structure your system in a way that allows it to react to Benzinga Events without maintaining a connection or checking for updates.
We offer pull-based REST APIs, streaming Websocket, and push-based Webhook delivery mechanisms.
The REST API is suitable for many use cases, but has the disadvantage of being subject to rate-limits and other complexity often found with REST APIs.
The Websocket offers an always-on connection that provides data real-time as soon as it becomes available in our system. Webhooks offer the same realtime delivery, but the connection is not maintained between deliveries. In most cases this means < 50ms of added latency which should be acceptable in most cases with the advantage of not needing to maintain an always-on connection and allowing clients to easily build event-driven systems.
Example Webhook Receiver Code:
POST
requests on URL provided to Benzinga.200-OK
, 201-Created
, 202-Accepted
or 204-NoContent
. Any other will result in redelivery.500 ms
for up to 5 minutes
at which point the system will retry every 5 minutes
to resume deliveries. Please provide an email address to notification of issues.30 seconds
; payloads taking more than this time to deliver will timeout. If your system takes longer than this to process incoming deliveries you will need to store the payload and respond with a success status code to continue processing.401-403
is received.429
rate limit status codes, but receivers should be capable of processing several events per second in peak periods dependending on content selections.HTTP POST
Can be delivered to any valid URL provided to Benzigna.
Headers
X-BZ-Delivery
: UUID string identifying delivery attempt; you can provide this for troubleshooting.User-Agent
: Identifies the system sending the message. ex. Benzinga-Dispatch/<id> v1.0.0
Content-Type
: application/json
. Identifies payload content type.Body Fields:
Example:
Put simply it’s a message sent to a URL whenever something happens.
Webhooks are a common communication mechanism used in many event-based systems. Inside Benzinga systems, an event is triggered when a piece of news is published or updated. For clients this means you can choose to have event data delivered from Benzinga to your system as soon as it happens inside our systems. This allows you to structure your system in a way that allows it to react to Benzinga Events without maintaining a connection or checking for updates.
We offer pull-based REST APIs, streaming Websocket, and push-based Webhook delivery mechanisms.
The REST API is suitable for many use cases, but has the disadvantage of being subject to rate-limits and other complexity often found with REST APIs.
The Websocket offers an always-on connection that provides data real-time as soon as it becomes available in our system. Webhooks offer the same realtime delivery, but the connection is not maintained between deliveries. In most cases this means < 50ms of added latency which should be acceptable in most cases with the advantage of not needing to maintain an always-on connection and allowing clients to easily build event-driven systems.
Example Webhook Receiver Code:
POST
requests on URL provided to Benzinga.200-OK
, 201-Created
, 202-Accepted
or 204-NoContent
. Any other will result in redelivery.500 ms
for up to 5 minutes
at which point the system will retry every 5 minutes
to resume deliveries. Please provide an email address to notification of issues.30 seconds
; payloads taking more than this time to deliver will timeout. If your system takes longer than this to process incoming deliveries you will need to store the payload and respond with a success status code to continue processing.401-403
is received.429
rate limit status codes, but receivers should be capable of processing several events per second in peak periods dependending on content selections.HTTP POST
Can be delivered to any valid URL provided to Benzigna.
Headers
X-BZ-Delivery
: UUID string identifying delivery attempt; you can provide this for troubleshooting.User-Agent
: Identifies the system sending the message. ex. Benzinga-Dispatch/<id> v1.0.0
Content-Type
: application/json
. Identifies payload content type.Body Fields:
Example: