New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

oenomaus

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oenomaus

An Unofficial API for Airbnb

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

Oenomaus - An Unofficial API for Airbnb

Overview

This Library wraps calls to Airbnb's API endpoints using v2 where possible (HostAPI mainly uses v2 for CRUD).

There are three main API classes:

  1. PublicAPI - All calls can be made with authentication
  2. UserAPI - Calls that an Airbnb user would do (requires auth)
  3. HostAPI - Create, update and delete listings (requires auth)

All methods return a Promise<Object>.

Install

npm i oenomaus -S

Usage

import { PublicAPI, UserAPI, HostAPI  } from 'oenomaus';

const publicApi = new PublicAPI();
const userApi = new UserAPI(access_token);
const hostApi = new PublicAPI(access_token);

Authorization

import { PublicAPI } from 'oenomaus';

const api = new PublicAPI(); // <-- No access_token required
api.loginByEmail('some@email.com', 'password123')
  .then({ access_token } => {
    console.log(access_token);
  });

Using the access_token

import { HostAPI } from 'oenomaus';

const api = new HostAPI(access_token); // <-- access_token required
// all calls will be authenticated
api.createListing({
  name: 'Beautiful Apartment w Opera House views'
  city: 'Sydney',
  state: 'NSW',
  country_code: 'AU',
});

UserAPI and HostAPI both require the access_token to be passed to the constructor.

NOTE: API will return an APIError if you request authorization too often (as it's throttled by Airbnb); best to cache the access_token;

Methods

Please see the Source Code and the tests for details. The source uses Flow Type Checker where possible which should help you understand the method options.

Enums

To aid development, some of the Airbnb types have been declared using an Enum:

import {
  PropertyTypes,
  RoomTypes,
  BedTypes,
  CommonAmenities,
  ExtraAmenities,
  HomeSafetyAmenities,
  HostPreferencesAmenities,
} from 'oenomaus';

console.log(PropertyTypes.HOUSE > PropertyTypes.APARTMENT);
// true
console.log(PropertyTypes.HOUSE !== PropertyTypes.APARTMENT);
// true
console.log(BedTypes.REAL_BED.name);
// REAL_BED
console.log(RoomTypes.ENTIRE_HOME.display);
// Entire home/apt
console.log(RoomTypes.ENTIRE_HOME.vale);
// entire_home
console.log(CommonAmenities.ESSENTIALS.value);
// 40

Why Oenomaus?

We built this API as part of a fully featured Short Term Rental Management System; this system was code named: Spartacus. Oenomaus became one of the leaders of rebellious slaves during the Third Servile War (alongside Spartacus).

Thanks

Thanks to @nrahnemoon who created the original documentation that this API is based.

Keywords

FAQs

Package last updated on 31 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc