yelp-fusion
v3.0.0
Published
Yelp Fusion API client for Node.js
Downloads
3,110
Readme
yelp-fusion
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
yelp.accessToken()
method is removed because OAuthV2 is being deprecated by the API. Use the new API Key in place of the token derived from client id and client secret. See https://www.yelp.com/developers/documentation/v3/authentication#where-is-my-client-secret-going
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