Skip to content


MIT 40 8 5,745
1.8 million (month) Jul 25 2009 0.21.0(1 year, 3 months ago)
876 4 7 MIT
0.11.0(3 years ago) Sep 25 2013 185.3 thousand (month)

HTTParty is a Ruby library that makes it easy to work with HTTP requests and responses. It is built on top of the Ruby standard library's Net::HTTP and provides a simple, easy-to-use interface for making requests and handling responses.

One of the main features of HTTParty is its ability to automatically parse response bodies as JSON, XML, or other formats. This allows developers to easily access the data returned by an API without having to manually parse the response.

Pure Ruby, framework and transport agnostic, implementation of HTTP/2 protocol and HPACK header compression with support for:

  • Binary framing parsing and encoding
  • Stream multiplexing and prioritization
  • Connection and stream flow control
  • Header compression and server push
  • Connection and stream management
  • And more... see API docs

Protocol specifications:

  • Hypertext Transfer Protocol Version 2 (RFC 7540)
  • HPACK: Header Compression for HTTP/2 (RFC 7541)



Example Use

require 'httparty'

# get request:
response = HTTParty.get('')
puts response.body
puts response.code
puts response.message
puts response.headers.inspect

# post request
response ='',
  :body => { :title => 'foo', :body => 'bar', :userId => 1 }.to_json,
  :headers => { 'Content-Type' => 'application/json' } )

puts response.body
require 'http/2'

# GET request
client =
response = client.get("")
puts response.body

# POST reuqest
data = { name: "value" }
response ="", data)

Alternatives / Similar