How to make an API call using meteor

Ok here is the twitter API,

Can any one give me any hint about how to go about calling this API or link using Meteor


Here is the code that i tried but its not showing any response

if (Meteor.isClient) {
    Template.hello.greeting = function () {
        return "Welcome to HelloWorld";
        'click input' : function () {

    Meteor.methods({checkTwitter: function () {
        var result ="GET", "");

if (Meteor.isServer) {
    Meteor.startup(function () {



You are defining your checkTwitter Meteor.method inside a client-scoped block. Because you cannot call cross domain from the client (unless using jsonp), you have to put this block in a Meteor.isServer block.

As an aside, per the documentation, the client side Meteor.method of your checkTwitter function is merely a stub of a server-side method. You'll want to check out the docs for a full explanation of how server-side and client-side Meteor.methods work together.

Here is a working example of the http call:

if (Meteor.isServer) {
        checkTwitter: function () {
            return"GET", "");

//invoke the server method
if (Meteor.isClient) {"checkTwitter", function(error, results) {
        console.log(results.content); // should be a JSON object

This might seem rudimentary - but the HTTP package does not come by default in your Meteor project and requires that you install it a la carte.

On the command line either:

  1. Just Meteor:
    meteor add http

  2. Meteorite:
    mrt add http

Meteor HTTP Docs


Meteor.http.get on the client is async, so you will need to provide a callback function :"GET",url,function(error,result){

Use Meteor.http.get. Per the docs:

Meteor.http.get(url, [options], [asyncCallback]) Anywhere
Send an HTTP GET request. Equivalent to"GET", ...).

The docs actually include some examples of using Twitter, so you should be able to get started with them.


on server side if you provide the call back to http.get it will be asynch call so my solutions to that undefined return on client was

var result = HTTP.get(iurl); return;

as i did not pass a call back to HTTP.get so it waited until i got response. hope it helps


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.