Skip to content

AJFunk/cannabis-reports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cannabis Reports

A Cannabis Reports API wrapper for Node.js

Build Status

This project uses modern ES2016+ syntax, which means you can use promises (as shown in the documentation) or async/await.

Installation

npm install --save cannabis-reports

Usage

import { Strain, Flower, Extract, Edible, Product, Producer, SeedCompany, Dispensary } from 'cannabis-reports';

Only import the modules you need. For example, if you only need the Strain and Extract modules:

import { Strain, Extract } from 'cannabis-reports';

To set your API Key, set the environment variable CANNABIS_REPORTS_API_KEY. Alternatively, you can set the configuration manually

import { setCannabisReportsKey } from 'cannabis-reports';
setCannabisReportsKey('<your-api-key>')

Strains

Flowers

Extracts

Edibles

Products

Producers

Dispensaries

Seed Companies


Strain.all(options)

returns an Array of strain objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
    • name - Alphabetically stating with numeric strains. 0-9, A-Z.
    • -name - Alphabetically starting with Z and working back through numeric strains. Z-A, 9-0.
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Strain
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))
returns an Array of strain objects matching the search query.
query (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Strain
  .search('orange')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.strain(ucpc)

returns a single strain object with the specified UCPC
ucpc (required) - [String]
Strain
  .strain('VUJCJ4TYMG000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.user(ucpc)

returns a single user object of the user who added the strain to the database.
ucpc (required) - [String]
Strain
  .strain('VUJCJ4TYMG000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.reviews(ucpc, options)

returns an array of reviews for a cannabis strain.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Strain
  .reviews('VUJCJ4TYMG000000000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.effectsFlavors(ucpc)

returns a object containing the average effects and flavors from reviews for this strain.
ucpc (required) - [String]
Strain
  .effectsFlavors('VUJCJ4TYMG000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.seedCompany(ucpc)

returns a object for the seed company that was responsible for a cannabis strain.
ucpc (required) - [String]
Strain
  .seedCompany('VUJCJ4TYMG000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.genetics(ucpc)

returns an array of strains that were the parent material for the strain with the given UCPC.
ucpc (required) - [String]
Strain
  .genetics('VUJCJ4TYMG000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.children(ucpc, options)

returns an array of the child strains that this strain has been bred into.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Strain
  .children('VUJCJ4TYMG000000000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Strain.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a strain using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Strain
  .availability('VUJCJ4TYMG000000000000000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.all(options)

returns an Array of flower objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Flower
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.type(flowerType, options)

returns an Array of products for a given type.
flowerType (required) - [String] (case-insensitive) Possible values:
  • flowers
  • seeds
  • clones
  • shake
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Flower
  .type(flowerType, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.flower(ucpc)

returns a single flower object with the specified UCPC.
ucpc (required) - [String]
Flower
  .flower('AHZ7H4N6467FVUDY3DAY00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.user(ucpc)

returns a single user object of the user who added the flower to the database.
ucpc (required) - [String]
Flower
  .user('AHZ7H4N6467FVUDY3DAY00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.reviews(ucpc, options)

returns an array of reviews for a cannabis flower.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Flower
  .reviews('AHZ7H4N6467FVUDY3DAY00000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.effectsFlavors(ucpc)

returns a object containing the average effects and flavors from reviews for this flower.
ucpc (required) - [String]
Flower
  .effectsFlavors('AHZ7H4N6467FVUDY3DAY00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.producer(ucpc)

returns a object for the producer of a flower.
ucpc (required) - [String]
Flower
  .producer('AHZ7H4N6467FVUDY3DAY00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.strain(ucpc)

returns a object for the strain of a flower.
ucpc (required) - [String]
Flower
  .strain('AHZ7H4N6467FVUDY3DAY00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Flower.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a flower using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Flower
  .availability('AHZ7H4N6467FVUDY3DAY00000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.all(options)

returns an Array of extract objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Extract
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.type(extractType, options)

returns an Array of products for a given type.
extractType (required) - [String] (case-insensitive) Possible values:
  • kief
  • hash
  • water-hash
  • oil
  • wax
  • crumble
  • honeycomb
  • shatter
  • vaporizer-disposable
  • vaporizer-cartridge
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Extract
  .type(extractType, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.extract(ucpc)

returns a single extract object with the specified UCPC.
ucpc (required) - [String]
Extract
  .extract('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.user(ucpc)

returns a single user object of the user who added the extract to the database.
ucpc (required) - [String]
Extract
  .user('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.reviews(ucpc, options)

returns an array of reviews for a cannabis extract.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Extract
  .reviews('3CV7E33XLHTJT2XZ4GMD00000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.effectsFlavors(ucpc)

returns a object containing the average effects and flavors from reviews for this extract.
ucpc (required) - [String]
Extract
  .effectsFlavors('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.producer(ucpc)

returns a object for the producer of a extract.
ucpc (required) - [String]
Extract
  .producer('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.strain(ucpc)

returns a object for the strain of a extract.
ucpc (required) - [String]
Extract
  .strain('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Extract.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a extract using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Extract
  .availability('3CV7E33XLHTJT2XZ4GMD00000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.all(options)

returns an Array of edible objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Edible
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.type(edibleType, options)

returns an Array of products for a given type.
edibleType (required) - [String] (case-insensitive) Possible values:
  • baked goods
  • candy
  • treat
  • chocolate
  • snack
  • beverage
  • pill
  • tincture
  • butter
  • honey
  • breath strips
  • tea
  • ice cream
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Edible
  .type(edibleType, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.edible(ucpc)

returns a single edible object with the specified UCPC.
ucpc (required) - [String]
Edible
  .edible('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.user(ucpc)

returns a single user object of the user who added the edible to the database.
ucpc (required) - [String]
Edible
  .user('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.reviews(ucpc, options)

returns an array of reviews for a cannabis edible.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Edible
  .reviews('3CV7E33XLHTJT2XZ4GMD00000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.effectsFlavors(ucpc)

returns a object containing the average effects and flavors from reviews for this edible.
ucpc (required) - [String]
Edible
  .effectsFlavors('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.producer(ucpc)

returns a object for the producer of a edible.
ucpc (required) - [String]
Edible
  .producer('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.strain(ucpc)

returns a object for the strain of a edible.
ucpc (required) - [String]
Edible
  .strain('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Edible.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a edible using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Edible
  .availability('3CV7E33XLHTJT2XZ4GMD00000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.all(options)

returns an Array of product objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Product
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.type(productType, options)

returns an Array of products for a given type.
productType (required) - [String] (case-insensitive) Possible values:
  • bath
  • topical
  • skin care
  • pre-roll
  • lip balm
  • massage oil
  • personal lubricant
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Product
  .type(productType, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.product(ucpc)

returns a single product object with the specified UCPC.
ucpc (required) - [String]
Product
  .product('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.user(ucpc)

returns a single user object of the user who added the product to the database.
ucpc (required) - [String]
Product
  .user('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.reviews(ucpc, options)

returns an array of reviews for a cannabis product.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Product
  .reviews('3CV7E33XLHTJT2XZ4GMD00000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.effectsFlavors(ucpc)

returns a object containing the average effects and flavors from reviews for this product.
ucpc (required) - [String]
Product
  .effectsFlavors('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.producer(ucpc)

returns a object for the producer of a product.
ucpc (required) - [String]
Product
  .producer('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.strain(ucpc)

returns a object for the strain of a product.
ucpc (required) - [String]
Product
  .strain('3CV7E33XLHTJT2XZ4GMD00000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Product.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a product using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Product
  .availability('3CV7E33XLHTJT2XZ4GMD00000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.all(options)

returns an Array of producer objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
    • name - Alphabetically stating with numeric producers. 0-9, A-Z.
    • -name - Alphabetically starting with Z and working back through numeric producers. Z-A, 9-0.
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Producer
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.producer(ucpc)

returns a single producer object with the specified UCPC.
ucpc (required) - [String]
Producer
  .producer('0000000000L6M7E0000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.extracts(ucpc, options)

returns an array of extracts for a cannabis producer.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
Producer
  .extracts('0000000000L6M7E0000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.edibles(ucpc, options)

returns an array of edibles for a cannabis producer.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
Producer
  .edibles('0000000000L6M7E0000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.products(ucpc, options)

returns an array of products for a cannabis producer.
ucpc (required) - [String]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
Producer
  .products('0000000000L6M7E0000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Producer.availability(ucpc, lat, lng, options)

returns an Array of information about the availability of a producer using latitude and longitude.
ucpc (required) - [String]
lat (required) - [String] or [Number]
lng (required) - [String] or [Number]
options (optional) - [Object]
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
  • radius - [Number] Radius to search for in miles, max 25.
Producer
  .availability('0000000000L6M7E0000000000', 37.7749295, -122.4194155, options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

SeedCompany.seedCompany(ucpc)

returns an individual seed company object with the specified UCPC.
ucpc (required) - [String]
Product
  .seedCompany('VUJCJ00000000000000000000')
  .then(data => console.log(data))
  .catch(err => console.log(err))

SeedCompany.strains(ucpc, options)

returns an Array of strains offered by the specified seed company.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
SeedCompany
  .seedCompany('VUJCJ00000000000000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

SeedCompany.reviews(ucpc, options)

returns an Array of reviews for the strains available from the seed company.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
SeedCompany
  .reviews('VUJCJ00000000000000000000', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.all(options)

returns an Array of dispensary objects.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
    • name - Alphabetically stating with numeric strains. 0-9, A-Z.
    • -name - Alphabetically starting with Z and working back through numeric strains. Z-A, 9-0.
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Dispensary
  .all(options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.dispensary(state, city, slug)

returns a individual dispensary object based on the state, city, and slug.
state (required) - [String] Two character state for the dispensary.
city (required) - [String] City the dispensary is in (kebab-case).
slug (required) - [String] Slug for the name of the dispensary.
Dispensary
  .dispensary('ca', 'san-francisco', 'grass-roots')
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.strains(state, city, slug)

returns an Array of strains for a given dispensary
state (required) - [String] Two character state for the dispensary.
city (required) - [String] City the dispensary is in (kebab-case).
slug (required) - [String] Slug for the name of the dispensary.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Dispensary
  .strains('ca', 'san-francisco', 'grass-roots', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.extracts(state, city, slug)

returns an Array of extracts for a given dispensary
state (required) - [String] Two character state for the dispensary.
city (required) - [String] City the dispensary is in (kebab-case).
slug (required) - [String] Slug for the name of the dispensary.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Dispensary
  .extracts('ca', 'san-francisco', 'grass-roots', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.edibles(state, city, slug)

returns an Array of edibles for a given dispensary
state (required) - [String] Two character state for the dispensary.
city (required) - [String] City the dispensary is in (kebab-case).
slug (required) - [String] Slug for the name of the dispensary.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Dispensary
  .edibles('ca', 'san-francisco', 'grass-roots', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))

Dispensary.products(state, city, slug)

returns an Array of products for a given dispensary
state (required) - [String] Two character state for the dispensary.
city (required) - [String] City the dispensary is in (kebab-case).
slug (required) - [String] Slug for the name of the dispensary.
options (optional) - [Object]
  • sort - [String] Possible values:
    • createdAt - Oldest records
    • -createdAt - Newest records
    • updatedAt - Oldest updated records
    • -updatedAt - Newest updated records
  • page - [Number] By default, Cannabis Reports will return 10 records at a time for this API call. You can use the page argument to fetch the page of results you want. Check out the pagination section of the documentation for further information.
Dispensary
  .products('ca', 'san-francisco', 'grass-roots', options)
  .then(data => console.log(data))
  .catch(err => console.log(err))