SkincareAPI
An api of over 2,000 popular skincare products in the US, Korea, and Japan. Users can search by brand, product name, or any ingredient and receive a list of products matching. User can also add to the database or paginate their results. Made with Ruby on rails as part of the Capstone for Ada Developers Academy.
Install / Use
/learn @LauraAddams/SkincareAPIREADME
SkincareAPI
SkincareAPI is a skincare product API. The API was created as part of a capstone project for Ada Developers Academy.
The idea is to provide users with a catalog of products with brand, name, and ingredients that can be used for test projects.
API
Base URL
GET https://skincare-api.herokuapp.com
Products
GET /products
Returns a list of all products
[
{
"id": 1,
"brand": "amorepacific",
"name": "age spot brightening pen",
"ingredient_list": [
"water",
"butylene glycol",
"alcohol",
]
},
{
"id": 2,
"brand": "amorepacific",
"name": "all day balancing care serum",
"ingredient_list": [
"camellia sinensis leaf water",
"phyllostachis bambusoides juice",
"panax ginseng root extract",
]
},
{
"id": 3,
"brand": "amorepacific",
"name": "bio-enzyme refining complex",
"ingredient_list": [
"panax ginseng root extract",
"cyclopentasiloxane",
"dimethicone",
]
},
]
GET /products/1
Returns a single product by id number
{
"id": 1,
"brand": "amorepacific",
"name": "age spot brightening pen",
"ingredient_list": [
"water",
"butylene glycol",
"alcohol",
"dipropylene glycol",
"peg-75",
"glycereth-26",
"ascorbyl glucoside",
]
}
POST /products
Adds a product, new ingredients are added to the ingredient database
Accepted params (all fields must be present):
- brand (string)
- name (string)
- ingredients (string, separated by commas) ex. "water,alcohol,citric acid,..."
Ingredients
GET /ingredients
Returns a list of all unique ingredients
[
{
"id": 1,
"ingredient": "water"
},
{
"id": 2,
"ingredient": "butylene glycol"
},
{
"id": 3,
"ingredient": "alcohol"
},
]
Queries
Products and ingredients can both be queried at their singular route
GET /product?q=rose+water
Searches brand, name, and ingredients for LIKE values
[
{
"id": 564,
"brand": "lioele",
"name": "a.c control mousse cleanser trouble hunter",
"ingredient_list": [
"water",
"ammonium lauryl sulfate",
"cocamidopropyl betaine",
"peg-8",
"polysorbate 20",
"salicylic acid",
"fragrance",
"henoxyethanol",
"potassium hydroxide",
"methylparaben",
"sodium methyl cocoyl taurate",
"sodium citrate",
"tetrasodium edta",
"dipotassium glycyrrhizate",
"tocopheryl acetate",
"benzophenone-4",
"rose water",
"camillia sinensis leaf extract."
]
},
]
GET /ingredient?q=rose+water
Searches ingredient for LIKE values
[
{
"id": 2493,
"ingredient": "rose water"
},
{
"id": 3103,
"ingredient": "damask rose water"
}
]
Query Pagination
Addition params can be sent for pagination results
- limit (default 10)
- page
Example
GET https://skincare-api.herokuapp.com/product?q=rose&limit=25&page=1
Cheatsheet
| Method | Endpoint | Description |
| ----- | ---------- | ------ |
| GET | /products | Returns an array of product|
| GET | /products/:id | Returns an object with matching :id. If the id doesn't exist response will be 404|
| POST | /products | Adds a new product with the correct params. Invalid entries response will be 400|
| GET | /ingredients | Returns an array of ingredient|
| GET | /product?q= | Returns an array of searched product. Empty array for no results (pagination params: limit, page)|
| GET | /ingredient?q= | Returns an array of searched ingredient. Empty array for no results (pagination params: limit, page)|
Related Skills
feishu-drive
349.2k|
things-mac
349.2kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
349.2kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
codebase-memory-mcp
1.2kHigh-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 66 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.
