API DATA CLEANING FOR GOOGLE SHEETS

Introduction to the Flookup API

The Flookup API offers a powerful suite of REST endpoints designed to integrate advanced data cleaning directly into your applications and workflows. You can programmatically access features for fuzzy matching, similarity scoring and deduplication through reliable, CORS-enabled endpoints. Whether for internal systems or public-facing applications, our API provides a seamless solution for automating complex data processing tasks.

Flookup Data Wrangler: API

  • Your credit balance expires one year after your last purchase
  • Refill anytime to add to your balance and reactivate expired credits
  • Starts at 10,000 credits per purchase, with up to 1,000,000 available
  • Rate limit: 60 requests/minute
  • Max dataset size: 5,000 rows
  • Public API for browser-side integration and commercial use
$0.002

Per Credit

Our Fair Use Guarantee

We want you to be happy with your purchase. If you are not satisfied with the Flookup API within 14 days of your first purchase and have used fewer than 1,000 credits, please contact us.
We will gladly issue a full refund, but we just ask that you provide feedback so we can improve our service.


Quick Overview

Feature Description
Normalize Text Clean and standardize text by removing diacritics, punctuation, stop words or extracting URL components
Fuzzy Similarity Generate a similarity score between two text or numeric inputs
Fuzzy Lookup Locate the closest match to a value or list of values within a dataset by percentage or sound similarity
Unique List Remove duplicates from arrays or columns by percentage or sound similarity

Request Authentication

All API requests must be authenticated by including your "apiKey" in the JSON body of the request. You will receive your "apiKey" via email after subscribing to a plan.

Example Request Body Structure:

{ "apiKey": "your_api_key_here", ... }

Failure to provide a valid API key in the request body will result in an authentication error.
Important: Your API key is a secret. Do not share it publicly or commit it to version control. Keep it secure to prevent unauthorized use of your credits.


How to Make API Requests

You can test the Flookup API directly from your terminal using a tool like cURL. Below is an example of how to call the /fuzzyLookup endpoint with a JSON payload:

curl -X POST https://api.getflookup.com/fuzzyLookup \
-H "Content-Type: application/json" \
-d '{
"apiKey": "your_api_key_here",
"lookup_value": [["apple"]],
"table_array": [["apple", "fruit"], ["banana", "fruit"]],
"lookup_col": 1,
"index_num": 2
}'

Or in Google Apps Script:

function callFlookup() {
let url = "https://api.getflookup.com/fuzzyLookup";
let payload = {
apiKey: "your_api_key_here",
lookup_value: [["apple"]],
table_array: [["apple","fruit"], ["banana","fruit"]],
lookup_col: 1,
index_num: 2
};
let options = {
method: "POST",
contentType: "application/json",
payload: JSON.stringify(payload),
muteHttpExceptions: true
};
let response = UrlFetchApp.fetch(url, options);
let responseCode = response.getResponseCode();
let responseBody = response.getContentText();
if (responseCode === 200) {
let data = JSON.parse(responseBody);
Logger.log(data.result);
} else {
Logger.log(Error: ${responseCode} - ${responseBody});
}
}

Flookup API Endpoints


Normalize Text

POST https://api.getflookup.com/normalize
{ "apiKey": "...", "lookup_value": [["São Paulo"]], "operation": "diacritics" }

Parameters Explained

Parameter Description
lookup_value A single value or an array of values to normalize e.g. "value1" or [["value1"], ["value2"]]
operation (Optional) The normalization method. Defaults to "diacritics". Options: "diacritics", "punctuations", "text", "domain", "path"
stop_array (Optional) A custom list of words or characters to use for "text" or "punctuations" operations
threshold (Optional) The similarity threshold (0 to 1) for matching stop words in the "text" operation; it defaults to 0.8

Response

{ "result": [["Sao Paulo"]] }

Errors

{ "error": "Error: ..." }

Fuzzy Similarity

POST https://api.getflookup.com/fuzzySimilarity
{ "apiKey": "your_api_key_here", "left_string": "string1", "right_string": "string2" }

Parameters Explained

Parameter Description
left_string A single value or an array of values to compare.
right_string A single value or an array of values to compare.

Response

{ "result": 0.92 }

Errors

{ "error": "Error: ..." }

Fuzzy Lookup

POST https://api.getflookup.com/fuzzyLookup
{ "apiKey": "...", "lookup_value": [["..."]], "table_array": [["..."]], "lookup_col": 1, "index_num": 2, "threshold": 0.8 }

Parameters Explained

Parameter Description
lookup_value A single value or an array of values to look up e.g. "value1" or [["value1"], ["value2"]]
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 (Optional) The minimum level of similarity for a match; it defaults to 0.8

Response

{ "result": [["matched value", score], ...] }

Errors

{ "error": "Error: ..." }

Unique List

POST https://api.getflookup.com/uniqueList
{ "apiKey": "...", "col_array": [["..."]], "index_num": 1, "threshold": 0.8, "operation": "by_percentage" }

Parameters Explained

Parameter Description
col_array An array of values to process for duplicates
index_num The column of col_array from which to remove duplicates
threshold (Optional) The minimum level of similarity for a match; it defaults to 0.8
operation (Optional) The method for identifying duplicates; options are "by_percentage" or "by_sound"; it defaults to "by_percentage"

Response

{ "result": [["unique1"], ["unique2"], ...] }

Errors

{ "error": "Error: ..." }

Check Quota Status

POST https://api.getflookup.com/checkQuotaStatus
{ "apiKey": "your_api_key_here" }

Response

{ "status": "active", "credits_remaining": 9850 }

Errors

{ "error": "Error: ..." }

Flookup API Privacy

We are committed to protecting your privacy. When you use the Flookup API, we collect your API key for authentication and usage tracking. We do not store the data you process through the API. All data transmission is encrypted. For more details, please see our full Privacy Policy.


You Might Also Like