LoadLane help
Short answer: Open a spreadsheet in Google Sheets™ and choose Extensions → LoadLane → Open LoadLane. Press + New source, paste the address of a CSV file, a JSON feed or an API, add parameters and headers if it needs a key, press Preview, pick the columns and the tab, and press Save and import now. With Pro, give it a schedule. Questions? Write to info@bilingoplus.com or use the support page.
1. Install and open LoadLane
- Install LoadLane in your Google account.
- Google shows the permissions LoadLane needs. If they come with checkboxes, tick every one. If one is left unticked, LoadLane cannot import. Why each one is needed is under Permissions.
- Open a spreadsheet and choose Extensions → LoadLane → Open LoadLane. The LoadLane panel opens on the right, with two tabs: Sources (your sources and the editor) and Plan (your plan, settings and disconnect).
The sources are saved in the spreadsheet itself, so everyone who opens LoadLane in it sees the same sources. Your API keys are not: see Parameters and headers.
2. The source list
Each source shows its name and mode (Replace, Append or Snapshot), the site and where the data goes, such as Orders!A1, the schedule and the next run, and the last result, for example Wrote 1,240 rows from 5 pages to Orders!A1. A failed run shows its error in red, with the time. Buttons: Import now, Edit and Delete (the data already in the sheet stays).
An orange line Needs your own value for: Authorization means the source sends a header or secret parameter you have no saved value for, because someone else set it up. Press Edit and type yours.
The free plan has up to 3 sources per spreadsheet, Pro up to 25.
3. Address, method and name
- Address (URL): the
https://address of the data.http://addresses are refused. Anything after?is moved into Parameters when you save, and parameters whose names look like keys (key,api_key,apikey,token,access_token,secret,password,signature,appid,hapikeyand similar) are marked secret for you. - Method: GET for almost every API. POST (Pro) sends a JSON body, shown when POST is chosen, with
Content-Type: application/json. Do not put keys in the body: it is saved in the spreadsheet. Use a header. - Name: how the source is listed. Empty means the site’s name.
4. Parameters and headers (API keys)
- Parameters are name and value pairs added to the address, such as
limit=250. Tick secret to keep a value in your own Google account instead of the spreadsheet. The field then shows saved ••••••abcd — empty keeps it: leave it empty to keep the saved value, type to replace it, or press ✕ to remove the parameter. - Headers are request headers such as
Authorization: Bearer …orX-API-Key: …. Every header value is secret: it is kept in your Google account, never in the spreadsheet or in logs, and shown masked. + Bearer token and + API key add the two most common ones. You cannot setHost,Content-Length,ConnectionorTransfer-Encoding; aContent-Typeheader is used as the request’s content type.
Shared spreadsheets. People you share the spreadsheet with see the header names, not your values. To run the source themselves they type their own values, which are kept in their account. Scheduled runs use the values of the person who runs the schedules.
Bound to one site. Your values are sent only to the site you saved them for. If the address is later changed to another site, by you or anyone else, LoadLane does not send them until you open the source and save it again; the panel tells you when that is the case. A redirect or a next page on another site is refused for the same reason.
5. Format, JSON path and columns
- Format: Detect (from the answer’s Content-Type and first characters), or force JSON, CSV or TSV (tabs). CSV may use
,or;, picked from the first line; quoted fields, line breaks inside quotes and a BOM are handled. - JSON path: which list in the JSON becomes the rows, written with dots, such as
data.itemsorresults[0].rows. Empty means the answer itself if it is a list, otherwise the biggest list of records LoadLane finds. After Preview, the lists it found appear as buttons, such as orders · 250: click one to use it. A single object becomes one row. - The first row holds the column names: for CSV and TSV, and JSON lists of lists. Off means the columns are named Column 1, Column 2…
- Keep values as text: every text value is written as text, so
00123keeps its zeros and11/12does not become a date. Numbers from JSON stay numbers. - Preview loads the first page only and shows the first 20 rows. Nothing is written.
- Columns: every field found, in order. Nested objects become dot names (
customer.address.city), lists of plain values are joined with a comma, and lists of objects are kept as JSON text. Tick, rename, and move with ↑ ↓. Every field, as found resets the list; new fields that appear later are then added by themselves. Up to 200 columns.
Text that Google Sheets would read as a formula (starting with =, +, - or @, and not a number) is written as text, so an answer can never put a formula into your sheet.
6. Where it goes: Replace, Append, Snapshot
- Tab: an existing tab, or + New tab…, named after the source unless you type a name. From cell: the top-left cell, such as
A1orC5. Use the selected cell copies the tab and cell you clicked in the sheet. - Replace (free): each run clears exactly the block LoadLane wrote the last time and writes the header and the rows. Cells outside that block are never touched. Changing the tab, the cell or the mode makes LoadLane forget the old block: it will not clear cells it did not just write.
- Append (Pro): new rows go under the last filled row below the start cell, in the order of the header row already there; new fields get a column at the end of the header. Skip rows already in the sheet, by column: type a column name, an ID column works best. Rows whose value is already in that column, or twice in the same run, are skipped. Values are compared as text, so use an ID rather than a date where you can.
- Snapshot (Pro): like Append without skipping, with an Imported at column first, the same time on every row of one run. Good for price, stock or ranking history.
7. Pages (Pro)
- One request: no pages.
- Next-page link or cursor in the JSON: Field with the next page is a path such as
links.nextorpaging.next. If it holds a link, absolute or relative, LoadLane follows it. If it holds a cursor, type the parameter to send it as in Send it as parameter, such ascursororpage_token. - Page number or offset parameter: the Parameter (
pageoroffset), First (1 for pages, 0 for offsets) and Step (1 for pages, the page size for offsets). - Link header (rel="next"): for APIs that send the next page in a
Linkheader, as GitHub does. - Stop after: 1 to 50 pages, 10 by default.
LoadLane also stops at an empty page, a page that is the same as the one before, a missing next link, or when it has enough rows for 50,000 cells. A next page on another site is refused, so your keys never go there.
8. Schedules (Pro)
With Pro, a source can import by itself:
- Every hour.
- Every few hours: every 2, 3, 4, 6, 8 or 12 hours, at the hours divisible by that number. Every 6 hours means 12 AM, 6 AM, 12 PM and 6 PM.
- Every day, at the hour you choose: Every day at 7 AM.
- Every week, on the days you tick, at the hour you choose: Every Mon, Thu at 9 AM, or Every weekday at 9 AM for Monday to Friday.
The hour is in the time zone set on the Plan tab, which is the spreadsheet’s time zone unless you change it, or in another time zone you pick for the source. The source list shows the next run, such as Mon, Nov 16 at 12 PM.
How it runs: one timer in your Google account wakes up every hour, looks at the sources of every spreadsheet that has schedules from your account, and imports what is due. The spreadsheet does not have to be open. An import can arrive a little after the hour starts, because Google runs timers at some point within the hour.
- Saving never runs it at once. A schedule waits for its next time. Use Save and import now for today.
- A failed run is tried again every hour, up to 3 times for the same slot; then the source waits for its next scheduled time. The error stays on the source in the panel.
- One account per spreadsheet. The schedules of a spreadsheet run from one account, with that account’s keys. If a colleague already runs them, you can still import by hand.
9. Settings and the run log
- Time zone for schedules: the spreadsheet’s zone by default. Changing it never runs anything at once.
- Keep a log of every import in a "LoadLane log" tab (Pro): one line per run, with the time, the source, how it ran (Import now or Scheduled), rows, pages and the result. The last 1,000 or so lines are kept. Turning it off keeps the tab.
- The line under Settings tells you when the hourly check last ran.
- Disconnect this spreadsheet: deletes LoadLane’s sources here and your saved values for them, and stops their schedules. The imported data stays.
10. Limits
- 10 MB per request (larger answers are refused before they are read), 50,000 cells per run of one source (the rest is cut, and the result line says how many rows did not fit), 200 columns, 50 pages, 50,000 characters per cell.
- A busy or failing site (HTTP 429 or 5xx, or no answer) is asked twice more, after 2 and 5 seconds, before the run fails. A 429’s
Retry-Afteris followed up to 20 seconds. - Google Apps Script™ limits: about 6 minutes per run, and a daily number of web requests per account (20,000 for personal accounts, 100,000 for Google Workspace™).
11. Free and Pro
- Free: up to 3 sources per spreadsheet, Import now as often as you like, CSV, TSV and JSON, parameters and headers (API keys), Preview and the column picker, and Replace.
- Pro: $4.99 a month or $39 a year, for schedules (every hour, every few hours, daily or weekly), Append and Snapshot, POST requests, pages, up to 25 sources and the run log tab.
Pro is bought from the panel’s Plan tab, with Paddle as our Merchant of Record. The checkout is filled in with your Google account email, and after you pay, Pro switches on by itself in the open panel, usually within a minute. Paid with a different email? Open Already paid? Activate and enter the email you used at checkout. One subscription is for one Google account, in every spreadsheet.
Cancel any time from the link in your Paddle receipt, or by emailing info@bilingoplus.com. Pro then runs to the end of the period you paid for. Every charge has a 14-day refund (see refunds). If Pro ends, schedules stop and Import now refuses sources that use Pro settings, but every source keeps its settings, so they are back as they were when you renew.
12. Permissions
When you install LoadLane, Google may list each permission with a checkbox. Tick all of them. If one is left unticked, LoadLane says in its panel that permissions are missing and offers Give the missing permissions: tick every box on Google’s screen. If the panel does not open at all, remove LoadLane under Extensions → Add-ons → Manage add-ons and install it again with every box ticked.
| Permission | In plain English | Why LoadLane needs it |
|---|---|---|
spreadsheets | Google’s words: see, edit, create and delete all your Google Sheets spreadsheets | To write the imported rows and save the setup, also during scheduled imports (Pro), when the spreadsheet is closed. LoadLane opens only the spreadsheets you set it up in |
script.external_request | Connect to an external service | To request the addresses you set up, and to check a Pro licence with Paddle |
script.scriptapp | Run when you are not present | The one hourly timer for scheduled imports (Pro) |
script.container.ui | Show its own panel in Google Sheets | The LoadLane panel and menu |
userinfo.email | See your email address | To match your Pro licence |
Why “all your spreadsheets”? Google’s narrower “this spreadsheet only” permission covers the spreadsheet you are working in. Scheduled imports (Pro) run from a timer while the spreadsheet is closed, and that permission gives a timer no spreadsheet to open. So LoadLane asks for Google’s spreadsheets permission, which Google’s screen words as “See, edit, create and delete all your Google Sheets spreadsheets”. Google does not narrow it further; LoadLane’s own code does. It remembers the ID of each spreadsheet that has schedules from your account and opens only those. It does not list, search or open your other spreadsheets.
LoadLane has no Google Drive™ permission and no Gmail™ permission. None of its permissions is a “restricted” Google permission.
13. Troubleshooting
| What you see | Why | What to do |
|---|---|---|
| LoadLane only loads https:// addresses. | The address starts with http:// | Try the same address with https:// |
| Do not put a user name or password in the address | The address looks like https://user:pass@…, which would be saved in the spreadsheet | Add an Authorization header instead, such as Basic … |
| "localhost" is not a public web address. | LoadLane runs on Google’s servers and can reach only public sites | Use a public address |
| Your own value is needed for: Authorization. | The source sends a header or secret parameter you have no value for: someone else set it up | Press Edit and type your own value |
| The address of this source now points to …, but your keys were saved for …. | The address was changed to another site after you saved your keys, so they were not sent | Open the source, check the address and save it to use your keys there |
| HTTP 401 or HTTP 403 — the site refused the request. | The key or token is wrong, expired, or may not read this data | Check it under Edit → Headers. The end of the message, The site said: "…", quotes the site’s answer with your keys removed |
| HTTP 404 — the site has nothing at this address. | The address is wrong | Check the address |
| HTTP 400 or HTTP 422 — the site did not accept the request. | A parameter or the body is not what the API expects | Check the parameters and the body |
| HTTP 429 — the site is limiting requests (tried 3 times). | The API allows only so many requests | Import less often, or try later |
| The answer is 12.4 MB; LoadLane loads up to 10 MB per request. | The answer is too big for one request | Ask for fewer rows with a parameter such as limit and turn on pages (Pro), or filter at the source |
| The address returned a web page, not data (CSV or JSON). | Often a share link, or a site that wants a key or a sign-in | Use the site’s “download” or “export” address, or add the key |
| Nothing at "data.rows": "data" has no "rows". | The JSON path does not match the answer | Press Preview and click one of the lists found |
| The next page is on another site (…). | LoadLane stops there so your keys are never sent to another site | Nothing to fix: the pages before it were imported |
| Ran out of time after 14 pages | Google Apps Script allows about 6 minutes per run | Lower Stop after … pages, or ask for fewer rows per page |
| Google’s daily limit for web requests from your account is used up. | Your account made its daily number of web requests | It resets within 24 hours. Import less often |
| The free plan has up to 3 sources per spreadsheet. | You tried to add a fourth source | Delete one, or get Pro for up to 25 |
| This source uses … — part of LoadLane Pro. | A source saved with Pro settings (POST, Append, Snapshot or pages) was run on the free plan | Edit it to GET, Replace and one page, or get Pro. Its settings are kept |
| Pro needed: scheduled imports are part of LoadLane Pro | Pro ended, so the schedule did not run | Renew Pro and open the panel: the schedules start again |
| Scheduled imports in this spreadsheet already run from …’s account. | Two accounts would import everything twice | Ask them to turn theirs off first. You can still import by hand |
| Scheduled imports have not run since … | The hourly timer stopped | Opening the panel restarts it. If the note stays, write to us |
| LoadLane stopped the scheduled imports of … | The spreadsheet was deleted, or your account lost access to it, three hourly checks in a row | Get access back, open LoadLane in the spreadsheet and save the schedule again |
| LoadLane cannot store more in this spreadsheet. | The setup is kept in the spreadsheet, which holds about 30,000 characters of it | Shorten request bodies or column lists, or delete sources you no longer need |
| The answer had no rows — the sheet was left as it was. | The site answered with an empty list | Check the parameters, or the JSON path |
14. Your data
LoadLane runs inside your Google account. The data goes from the address you set up straight into your spreadsheet; nothing from your spreadsheets or your imports is sent to BiLingoPlus. The sources are saved inside the spreadsheet, and your keys and a small record for your account (the Pro status and which spreadsheets have schedules) in your Google account. Erase my data, in the panel’s footer, deletes everything LoadLane keeps in your account. Details are in the privacy policy.
15. Still stuck?
Write to info@bilingoplus.com or use the support page. Tell us the source’s name and the message you see in the panel or in the LoadLane log tab. Please never send us your API keys or tokens.
Questions
Can people I share the spreadsheet with see my API key?
No. Header values and secret parameters are kept in your own Google account, not in the spreadsheet. Others see the header names and type their own values to run the source.
Can I use LoadLane in several spreadsheets?
Yes. Open it in each one. Every spreadsheet has its own sources, and with Pro one hourly check in your account runs the scheduled imports of all of them.
Does LoadLane support “Sign in with…” (OAuth) APIs?
Not in version 1.0. Use an API key or a personal access token in a header or a parameter.
Can LoadLane read XML or scrape a web page?
No. It reads CSV, TSV and JSON. For XML and HTML tables, Google Sheets has the IMPORTXML and IMPORTHTML formulas.