Integrate Flookup seamlessly into your data workflows, whether for internal data cleaning tasks or for powering public-facing applications. Built on Firebase Cloud Functions, the Flookup API offers reliable public access with built-in rate limiting. It is designed to work effortlessly with spreadsheets, web applications, and automation platforms, enabling you to extend its capabilities across a wide range of use cases.
FLOOKUP API FEATURES
Fuzzy Lookup: Locate the closest match to a value or list of values within a dataset.
Fuzzy Similarity: Generate a similarity score between two text or numeric inputs.
Unique List: Remove duplicates from arrays or columns using fuzzy logic or phonetic encoding.
CORS Enabled: Fully public API, accessible from any origin.
You can test the Flookup API directly from your terminal using cURL. Below is an example of how to call the /fuzzyLookup endpoint with a JSON payload.
EXAMPPLE IN CURL
curl
-X POST https://fuzzylookup-fsf2wq72pq-uc.a.run.app \
-H "Content-Type: application/json" \
-d '{"lookup_value":[["apple"]],"table_array":[["apple","fruit"],["banana","fruit"]],"lookup_col":1,"index_num":2}
EXAMPLE IN APPS SCRIPT
let response = UrlFetchApp.fetch("https://fuzzylookup-fsf2wq72pq-uc.a.run.app", {
method:"POST",
contentType:"application/json",
payload: JSON.stringify({
lookup_value:[["apple"]],
table_array:[["apple","fruit"], ["banana","fruit"]],
lookup_col:1,
index_num:2
})
})
This command sends a request to find the closest match for "apple" in the provided table and returns the result in JSON format.
https://fuzzylookup-fsf2wq72pq-uc.a.run.app
Method: POST
Description: Finds and locates values against a table and returns the best matches.
JSON Request Body:
json
{
"profileId": "USER-12345",
"lookup_value": [["search term"]],
"table_array": [["row1col1", "row1col2"], ["row2col1", "row2col2"]],
"lookup_col": 1,
"index_num": 2,
"threshold": 0.8
}
PARAMETERS EXPLAINED
profileId: A unique identifier generated after subscribing.
lookup_value: A single value or array of values to lookup.
table_array: An array of values to compare with each item from lookup_value.
lookup_col: The column of table_array to lookup.
index_num: The column of table_array from which to return matches.
threshold: The minimum level of similarity between an item in the lookup_value array and an item in the table_array, above which they are considered similar and below which they are not considered similar.
Response:
json
{
"result": [["matched value", score], ...]
}
Errors:
json
{
"error": "!ERROR: ..."
}
https://fuzzysimilarity-fsf2wq72pq-uc.a.run.app
Method: POST
Description: Returns the percentage similarity score between two strings or numbers.
Request Body:
json
{
"profileId": "USER-12345",
"left_string": "string1",
"right_string": "string2"
}
PARAMETERS EXPLAINED
profileId: A unique identifier generated after subscribing.
left_string: A value or array of values to compare to right_string.
right_string: A value or array of values to compare to left_string.
Response:
json
{
"result": 0.92
}
Errors:
json
{
"error": "!ERROR: ..."
}
https://uniquelist-fsf2wq72pq-uc.a.run.app
Method: POST
Description: Deduplicates a list or column using fuzzy or sound-based matching, leaving only unique values.
Request Body:
json
{
"profileId": "USER-12345",
"col_array": [["value1"], ["value2"], ...],
"index_num": 1,
"threshold": 0.8,
"operation": "by_percentage"
}
PARAMETERS EXPLAINED
profileId: A unique identifier generated after subscribing.
col_array: An array of values to process for duplicates.
index_num: The column of col_array from which to remove duplicates.
threshold: The minimum level of similarity between each item in the col_array array, above which they are considered similar and below which they are not considered similar.
operation: The mode or method for the function to identify duplicates. Your options are "by_percentage" or "by_sound".
Response:
json
{
"result": [["unique1"], ["unique2"], ...]
}
Errors:
json
{
"error": "!ERROR: ..."
}
API Pro: Buy API Pro
API Master: Buy API Master
HOW TO UPGRADE
Click the relevant link above to activate a plan of your choice.
Choose any payment method you would like to use and fill in the details as prompted. You could choose to use your PayPal account or your debit card.
Open the confirmation email we send to you after your completed payment and copy your "Activation License".
*****
The "Activation License" will act as your profileId throughout the duration of your subscription. You must include it in the body of your API calls.
HOW THEY WORK
Your plan and quota are checked on every API request.
If your quota is exceeded, further requests will be blocked until your quota resets via a renewal.
If your plan is inactive or not recognized, access to the API is denied.
All usage is tracked and enforced automatically.
Rate Limit: Capped at 60 requests per minute, per IP address.
Timeout: Each request is limited to a 15 second runtime before it returns results.
Error Handling: Errors are returned as JSON objects with HTTP 400.
Public Access: No authentication required; accessible from any domain.
We greatly value your privacy.
Personal details are collected solely to manage your subscription and are never shared with anyone.
Data processed by the API is securely transmitted from you to our servers for processing and back again. It is never seen by us or any third party.
You retain full rights over your data and can request deletion at any time. For concerns, please contact us via our contact page.