Extension

HTTP Client

Connect to and interact with external services via their APIs.

Logo
Target Image

Click to watch tutorial video - 03:08

The GraphQL schema is provided with global fields to execute HTTP requests against a webserver and fetch their response.

It supports connecting to REST APIs, GraphQL APIs, and generic APIs, and retrieve and decode any type of data (including HTML, XML and CSV).

REST API: this query connects to the WP REST API from some external website, to fetch its posts:

query {
  postData: _sendJSONObjectItemHTTPRequest(input: {
    url: "https://some-wp-rest-api.com/wp-json/wp/v2/posts/1/"
  })
}

...producing this response:

{
  "data": {
    "postData": {
      "id": 1,
      "date": "2019-08-02T07:53:57",
      "date_gmt": "2019-08-02T07:53:57",
      "guid": {
        "rendered": "https:\/\/newapi.getpop.org\/?p=1"
      },
      "modified": "2021-01-14T13:18:39",
      "modified_gmt": "2021-01-14T13:18:39",
      "slug": "hello-world",
      "status": "publish",
      "type": "post",
      "link": "https:\/\/newapi.getpop.org\/uncategorized\/hello-world\/",
      "title": {
        "rendered": "Hello world!"
      },
      "content": {
        "rendered": "\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n\n\n\n<p>I&#8217;m demonstrating a Youtube video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Introduction to the Component-based API by Leonardo Losoviz | JSConf.Asia 2019\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/9pT-q0SSYow?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><figcaption>This is my presentation in JSConf Asia 2019<\/figcaption><\/figure>\n",
        "protected": false
      },
      "excerpt": {
        "rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing! I&#8217;m demonstrating a Youtube video:<\/p>\n",
        "protected": false
      },
      "author": 1,
      "featured_media": 0,
      "comment_status": "closed",
      "ping_status": "open",
      "sticky": false,
      "template": "",
      "format": "standard",
      "meta": [],
      "categories": [
        1
      ],
      "tags": [
        193,
        173
      ]
    }
  }
}

GraphQL API: This query connects to GitHub's GraphQL API to fetch a list of repositories:

query FetchGitHubRepositories(
  $login: String!
  $githubAccessToken: String!
) {
  _sendGraphQLHTTPRequest(input:{
    endpoint: "https://api.github.com/graphql",
    query: """
    
query GetRepositoriesByOwner($login: String!) {
  repositoryOwner(login: $login) {
    repositories(first: 100) {
      nodes {
        id
        name
        description
      }
    }
  }
}
 
    """,
    variables: [
      {
        name: "login",
        value: $login
      }
    ],
    options: {
      auth: {
        password: $githubAccessToken
      }
    }
  })
}

Generic API: This query connects to a WordPress RSS feed, and decodes the XML into a JSON object:

query {
  _sendHTTPRequest(input: {
    url: "https://wordpress.com/blog/2024/07/16/wordpress-6-6/feed/rss/?withoutcomments=1"
  }) {
    body
    rssJSON: _strDecodeXMLAsJSON(
      xml: $__body
    )
  }
}

Purchase extension

Personal
$249
(one-off)
“Power Extensions” bundle
License for 5 domains
Purchase ->
  • 5 domains
  • Support (forever)
  • Product updates (forever)
Organization
$499
(one-off)
“Power Extensions” bundle
License for 25 domains
Purchase ->
  • 25 domains
  • Support (forever)
  • Product updates (forever)
Professional
$749
(one-off)
“Power Extensions” bundle
License for 100 domains
Purchase ->
  • 100 domains
  • Support (forever)
  • Product updates (forever)
Agency
$999
(one-off)
“Power Extensions” bundle
License for 500 domains
Purchase ->
  • 500 domains
  • Support (forever)
  • Product updates (forever)

The license never expires. Prices are in USD.

30-day money back guarantee

Purchase any extension with the confidence that you can request a refund

Features illustration
Money back guarantee

Read our refund policy

Testimonial image

You have built an incredibly well-thought out and powerful tool—plus the support material is stellar.

Quint R. - Developer

Subscribe to our newsletter

Stay in the loop on all new things concerning Gato GraphQL.