Skip to main content
Send Web Request

How to Make an HTTP Request with Ruby

Ruby can make HTTP requests with Net::HTTP from the standard library, or with gems like Faraday or HTTParty.

GET request example

Making a GET request to fetch data with custom headers:

require 'net/http'
require 'json'

uri = URI('https://api.example.com/users')
request = Net::HTTP::Get.new(uri)
request['Accept'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_TOKEN'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
data = JSON.parse(response.body)

POST request example

Making a POST request to send JSON data:

require 'net/http'
require 'json'

uri = URI('https://api.example.com/users')
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = { name: 'John', email: 'john@example.com' }.to_json

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

Other libraries you can try