FLOOKUP API DOCUMENTATION
Introduction to the Flookup API
Integrate Flookup seamlessly into your data workflows, whether for internal data cleaning or 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.
- 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.
How to Make API Requests
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:
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
}'
Or in Google 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
})
});
Flookup API Endpoints
Fuzzy Lookup
POST https://fuzzylookup-fsf2wq72pq-uc.a.run.app
- Description: Finds and locates values against a table and returns the best matches.
- Request Body:
{
"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 for a match.
Response
{
"result": [["matched value", score], ...]
}
Errors
{
"error": "!ERROR: ..."
}
Fuzzy Similarity
POST https://fuzzysimilarity-fsf2wq72pq-uc.a.run.app
- Description: Returns the percentage similarity score between two strings or numbers.
- Request Body:
{
"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
{
"result": 0.92
}
Errors
{
"error": "!ERROR: ..."
}
Unique List
POST https://uniquelist-fsf2wq72pq-uc.a.run.app
- Description: Deduplicates a list or column using fuzzy or sound-based matching, leaving only unique values.
- Request Body:
{
"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 for a match.
- operation: The mode or method for the function to identify duplicates. Options: "by_percentage" or "by_sound".
Response
{
"result": [["unique1"], ["unique2"], ...]
}
Errors
{
"error": "!ERROR: ..."
}
Flookup API Pricing Plans
- 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 and fill in the details as prompted.
- Open the confirmation email after payment and copy your "Activation License".
- Your "Activation License" acts as your profileId for API calls.
Notes on API Usage:
- Rate Limit: 60 requests per minute, per IP address.
- Timeout: Each request is limited to 15 seconds.
- Error Handling: Errors are returned as JSON objects with HTTP 400.
- Public Access: No authentication required; accessible from any domain.
Flookup API Privacy Statement
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.