yelp-fusion

    3.0.0 • Public • Published

    yelp-fusion

    npm version Build Status codecov

    Yelp Fusion API client for Node.js with Promises

    Please refer to official Yelp documentation for request / response model details: https://www.yelp.com/developers/documentation/v3

    V3 Breaking Changes

    The following beta endpoints have been deprecated by the API since April 1, 2019. This library has been updated to reflect this change.

    • GET https://api.yelp.com/v3/businesses/matches/best
    • GET https://api.yelp.com/v3/businesses/matches/lookup

    See https://www.yelp.com/developers/documentation/v3/business_match for more info

    V2 Breaking Changes

    Install NPM Package

    npm install yelp-fusion --save
    

    Table of Contents

    Business Endpoints:

    Event Endpoints:

    Category Endpoints:


    Business Endpoints

    Business Search

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.search({
      term: 'Four Barrel Coffee',
      location: 'san francisco, ca',
    }).then(response => {
      console.log(response.jsonBody.businesses[0].name);
    }).catch(e => {
      console.log(e);
    });

    Phone Search

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.phoneSearch({
      phone: '+14157492060'
    }).then(response => {
      console.log(response.jsonBody.businesses[0].name);
    }).catch(e => {
      console.log(e);
    });

    Transaction Search

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.transactionSearch('delivery', {
      location: 'san diego'
    }).then(response => {
      console.log(response.jsonBody.businesses[0].name);
    }).catch(e => {
      console.log(e);
    });

    Business Details

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.business('gary-danko-san-francisco').then(response => {
      console.log(response.jsonBody.name);
    }).catch(e => {
      console.log(e);
    });

    Business Match

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.businessMatch({
      name: 'Pannikin Coffee & Tea',
      address1: '510 N Coast Hwy 101',
      address2: 'Encinitas, CA 92024',
      city: 'Encinitas',
      state: 'CA',
      country: 'US'
    }).then(response => {
      console.log(response.jsonBody.businesses[0].id);
    }).catch(e => {
      console.log(e);
    });

    Reviews

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.reviews('gary-danko-san-francisco').then(response => {
      console.log(response.jsonBody.reviews[0].text);
    }).catch(e => {
      console.log(e);
    });

    Autocomplete

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.autocomplete({
      text: 'pizza'
    }).then(response => {
      console.log(response.jsonBody.terms[0].text);
    }).catch(e => {
      console.log(e);
    });

    Event Endpoints

    Event Lookup

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.eventLookup("oakland-saucy-oakland-restaurant-pop-up").then(response => {
      console.log(response.jsonBody.description);
    }).catch(e => {
      console.log(e);
    });

    Event Search

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.eventSearch({
      categories: 2,
      is_free: true,
      location: 'claremont, ca'
    }).then(response => {
      console.log(response.jsonBody.events[0].name);
    }).catch(e => {
      console.log(e);
    });

    Featured Event

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.featuredEvent({
      location: 'claremont, ca'
    }).then(response => {
      console.log(response.jsonBody.description);
    }).catch(e => {
      console.log(e);
    });

    Category Endpoints

    All Categories

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.allCategories().then(response => {
      console.log(response.jsonBody.categories[0].alias);
    }).catch(e => {
      console.log(e);
    });

    Category Details

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY');
     
    client.categoryDetails('3dprinting').then(response => {
      console.log(response.jsonBody.category.title);
    }).catch(e => {
      console.log(e);
    });

    Advanced Request Options -- SocketTimeout

    Socket Timeout will abort the request if the server doesn't complete the response within that time in milliseconds.

    'use strict';
     
    const yelp = require('yelp-fusion');
    const client = yelp.client('YOUR_API_KEY', {
      socketTimeout: 5000
    });
     
    // or optionally
    // client.options.socketTimeout = 5000;

    Additionally, the options object support all fields defined here: https://nodejs.org/api/http.html#http_http_request_options_callback

    Install

    npm i yelp-fusion

    DownloadsWeekly Downloads

    767

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    94 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar