node-alchemy
node-alchemy copied to clipboard
An Alchemy API library for Node.JS
alchemy-api - An Alchemy API library for Node.js
This module provides calls to the AlchemyAPI for Nodejs. For more information on the API request and responses visit the AlchemyAPI docs. To use the module you will need to obtain an api key from Alchemy.
Installation
You can install this through npm: npm install alchemy-api
You can also install via git by cloning: git clone https://github.com/framingeinstein/node-alchemy.git /path/to/alchemy-api
Usage
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.sentiment('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/ for format of returned object
var sentiment = response.docSentiment;
// Do something with data
});
For api methods that allow for sentiment analysis such as Entity Extraction, Relations and Keywords pass: {"sentiment":1} as the second parameter.
Tests
To run tests type npm test
AlchemyAPI Features
Named Entity Extraction
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.entities('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/entity/htmlc.html for format of returned object
var entities = response.entities;
// Do something with data
});
Sentiment Analysis
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.sentiment('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/sentiment/htmlc.html for format of returned object
var sentiment = response.docSentiment;
// Do something with data
});
Emotions
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.emotions('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/html-api-1 for format of returned object
var emotions = response.docEmotions;
// Do something with data
});
Targeted Sentiment Analysis
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.sentiment_targeted('<URL|HTML|TEXT>', '<Target>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/sentiment/htmlc.html for format of returned object
var sentiment = response.docSentiment;
// Do something with data
});
Relation Extraction
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.relations('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/relation/htmlc.html for format of returned object
var relations = response.relations;
// Do something with data
});
Concept Tagging
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.concepts('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/concept/htmlc.html for format of returned object
var concepts = response.concepts;
// Do something with data
});
Keyword / Terminology Extraction
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.keywords('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/keyword/htmlc.html for format of returned object
var keywords = response.keywords;
// Do something with data
});
Taxonomy
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.taxonomies('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/taxonomy_calls/html.html for format of returned object
var taxonomies = response.taxonomies;
// Do something with data
});
Topic Categorization
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.category('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/categ/htmlc.html for format of returned object
var category = response.category;
// Do something with data
});
Image Link Extraction (Main Image)
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.imageLink('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/image-link-extraction/htmlc.html for format of returned object
var image = response.image;
// Do something with data
});
Image Tags/Keyword Extraction
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.imageKeywords('<URL|IMAGE>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/image-tagging/urls.html for format of returned object
var imageKeywords = response.imageKeywords;
// Do something with data
});
Image Faces Detection
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.imageFaces('<URL|IMAGE>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/face-detection/urls.html for format of returned object
var imageFaces = response.imageFaces;
// Do something with data
});
Language Detection
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.language('<URL|HTML|TEXT>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/lang/htmlc.html for format of returned object
var language = response.language;
// Do something with data
});
Author Extraction
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.author('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/author/htmlc.html for format of returned object
var author = response.author;
// Do something with data
});
Text Extraction / Web Page Cleaning
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.text('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/text/htmlc.html for format of returned object
var text = response.text;
// Do something with data
});
Structured Content Scraping
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.scrape('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/scrape/htmlc.html for format of returned object
var results = response.queryResults;
// Do something with data
});
Microformats
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.microformats('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/mformat/htmlc.html for format of returned object
var microformats = response.microformats;
// Do something with data
});
RSS / ATOM Feed Discovery
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.feeds('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/feed/htmlc.html for format of returned object
var feeds = response.feeds;
// Do something with data
});
Publication Date
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.publicationDate('<URL|HTML>', {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/publication-date/htmlc.html for format of returned object
var publicationDate = response.publicationDate; //YYYYMMDDTHHMMSS string
// Do something with data
});
Combined Feature Extraction Call
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.combined('<URL|HTML|TEXT>', ["FEATURE_NAME",...], {}, function(err, response) {
if (err) throw err;
// See http://www.alchemyapi.com/api/combined-call/ for format of returned object.
// Each feature response will be available as a separate property.
var feature_response = response.FEATURE_NAME;
// Do something with data
});
API Key Information
var AlchemyAPI = require('alchemy-api');
var alchemy = new AlchemyAPI('<YOUR API KEY>');
alchemy.apiKeyInfo({}, function(err, response) {
if (err) throw err;
// Do something with data
console.log('Status:', response.status, 'Consumed:', response.consumedDailyTransactions, 'Limit:', response.dailyTransactionLimit);
});