yf

yelp-fusion

Yelp Fusion API client for Node.js

Showing:

Popularity

Downloads/wk

1.6K

GitHub Stars

72

Maintenance

Last Commit

3yrs ago

Contributors

6

Package

Dependencies

1

License

MIT

Type Definitions

Tree-Shakeable

No?

Readme

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

'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);
});
'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);
});
'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);
});
'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);
});
'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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Tutorials

No tutorials found
Add a tutorial