{"id":403736,"date":"2026-11-13T09:20:22","date_gmt":"2026-11-13T09:20:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/streetfill-address-autocomplete-for-woocommerce\/"},"modified":"2026-11-13T12:58:44","modified_gmt":"2026-11-13T12:58:44","slug":"streetfill","status":"publish","type":"plugin","link":"https:\/\/id.wordpress.org\/plugins\/streetfill\/","author":23581526,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.1","stable_tag":"0.2.1","tested":"7.1.4","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"Streetfill \u2013 Address Autocomplete for WooCommerce","header_author":"wedoingood","header_description":"Google address suggestions for WooCommerce\u2019s own address autocomplete: classic and block checkout and My account addresses.","last_updated":"2026-11-13 12:58:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wedoingood.com\/plugins\/streetfill\/","header_author_uri":"https:\/\/wedoingood.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":90,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"wedoingood","date":"2026-11-13 09:20:01","revision":3800067},"0.2.1":{"tag":"0.2.1","author":"wedoingood","date":"2026-11-13 12:58:44","revision":3800412}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3800067,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3800067,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3800067,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3800067,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0","0.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3800067,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3800067,"resolution":"2","location":"assets","locale":"","width":780,"height":1280},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3800067,"resolution":"3","location":"assets","locale":"","width":1280,"height":1225}},"screenshots":{"1":"Address suggestions in the block checkout.","2":"The same list on a phone.","3":"Settings: setup checklist, API key and \"Check key\"."}},"plugin_section":[],"plugin_tags":[3513,17237,3517,3148,1571],"plugin_category":[45,49],"plugin_contributors":[285798],"plugin_business_model":[],"class_list":["post-403736","plugin","type-plugin","status-publish","hentry","plugin_tags-address","plugin_tags-address-autocomplete","plugin_tags-autofill","plugin_tags-checkout","plugin_tags-google-maps","plugin_category-ecommerce","plugin_category-maps-and-location","plugin_contributors-wedoingood","plugin_committers-wedoingood"],"banners":{"banner":"https:\/\/ps.w.org\/streetfill\/assets\/banner-772x250.png?rev=3800067","banner_2x":"https:\/\/ps.w.org\/streetfill\/assets\/banner-1544x500.png?rev=3800067","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/streetfill\/assets\/icon-128x128.gif?rev=3800067","icon_2x":"https:\/\/ps.w.org\/streetfill\/assets\/icon-256x256.gif?rev=3800067","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/streetfill\/assets\/screenshot-1.png?rev=3800067","caption":"Address suggestions in the block checkout."},{"src":"https:\/\/ps.w.org\/streetfill\/assets\/screenshot-2.png?rev=3800067","caption":"The same list on a phone."},{"src":"https:\/\/ps.w.org\/streetfill\/assets\/screenshot-3.png?rev=3800067","caption":"Settings: setup checklist, API key and \"Check key\"."}],"raw_content":"<!--section=description-->\n<p>Typing a full address on a phone is slow, and typos in the street or postcode mean returned parcels. WooCommerce has its own address autocomplete, but it needs a provider of addresses.<\/p>\n\n<p>Streetfill is that provider. Customers type a few letters of their street, pick their address from the suggestions, and WooCommerce fills in the street, city, postcode and state. The addresses come from the service you choose: Google Maps, Geoapify or HERE, with your own key.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Works with WooCommerce's own address autocomplete: the block checkout, the classic checkout, and the addresses in My account.<\/li>\n<li>Three address services: Google Maps, Geoapify (OpenStreetMap data, a free key without a payment card) and HERE. Switch at any time.<\/li>\n<li>Fills the street with the house number in the country's usual order, for example \"Damrak 1\", \"350 Main Street\" or \"Via del Corso, 10\".<\/li>\n<li>Fills the city, postcode and country, and the state or province where WooCommerce has a list of states.<\/li>\n<li>Searches only in the country chosen in the form.<\/li>\n<li>Suggestions in your site's language.<\/li>\n<li>Streetfill's scripts load only on the checkout and My account \u2192 Addresses; Google Maps loads only when a customer clicks into a street field.<\/li>\n<li>Asks the service once the customer pauses typing, not for every letter.<\/li>\n<li>A clean look for the suggestion list (pin icons, light lines). You can switch back to WooCommerce's own look.<\/li>\n<li>\"Check key\" tells you whether your key works and warns when it is not restricted to your website.<\/li>\n<li>Compatible with High-Performance Order Storage (HPOS).<\/li>\n<\/ul>\n\n<h4>What you need<\/h4>\n\n<ul>\n<li>WooCommerce 10.3 or newer.<\/li>\n<li>A key of one of the services:\n\n<ul>\n<li>Google Maps Platform: \"Maps JavaScript API\" and \"Places API (New)\" enabled. Google bills your Google Cloud account after its monthly free usage.<\/li>\n<li>Geoapify: a free key from myprojects.geoapify.com; the free plan has a daily limit.<\/li>\n<li>HERE: an API key from platform.here.com; HERE bills beyond its free monthly usage.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>More<\/h4>\n\n<p>Setup guide, screenshots and how we test: <a href=\"https:\/\/wedoingood.com\/plugins\/streetfill\/\">wedoingood.com\/plugins\/streetfill<\/a>. We build WooCommerce plugins as shop owners, from problems we hit in our own shop.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Streetfill sends address searches to the one service you choose in WooCommerce \u2192 Streetfill. Nothing is sent until a customer uses a street field or you press \"Check key\". Nothing is sent to wedoingood.<\/p>\n\n<h4>Google Maps Platform (Google)<\/h4>\n\n<ul>\n<li>Checkout and My account \u2192 Addresses: when a customer clicks into a street field, the customer's browser loads Google's Maps JavaScript API from maps.googleapis.com with your API key and your site's language. While the customer types (WooCommerce starts after 3 letters), the typed text, the country chosen in the form, the language and a session token are sent from the browser to Google (places.googleapis.com). When the customer picks a suggestion, the browser sends that suggestion's place ID and the session token to Google and receives the address.<\/li>\n<li>With an add-on that limits suggestions to an area around your store, each search also includes that area (a rectangle); with an add-on that saves the address's coordinates, the same pick request also asks for them.<\/li>\n<li>Settings screen: \"Check key\" sends one test search (\"Wien\") with your key from your browser and one from your server, to see whether the key is restricted to your website.<\/li>\n<li>Terms: https:\/\/cloud.google.com\/maps-platform\/terms \u00b7 Privacy: https:\/\/policies.google.com\/privacy \u00b7 Pricing: https:\/\/mapsplatform.google.com\/pricing\/<\/li>\n<\/ul>\n\n<h4>Geoapify<\/h4>\n\n<ul>\n<li>Checkout and My account \u2192 Addresses: while the customer types, the customer's browser sends the typed text, the country chosen in the form, the language and your key to api.geoapify.com and receives up to 5 addresses. Picking one sends nothing more.<\/li>\n<li>With an add-on that limits suggestions to an area around your store, each search also includes that area (a rectangle).<\/li>\n<li>Settings screen: \"Check key\" sends one test search (\"Wien\") with your key from your browser, and one from your server that names another website (key-check.streetfill.invalid) as its origin, to see whether the key is restricted to your website.<\/li>\n<li>Terms: https:\/\/www.geoapify.com\/terms-and-conditions\/ \u00b7 Privacy: https:\/\/www.geoapify.com\/privacy-policy\/ \u00b7 Pricing: https:\/\/www.geoapify.com\/pricing\/<\/li>\n<\/ul>\n\n<h4>HERE<\/h4>\n\n<ul>\n<li>Checkout and My account \u2192 Addresses: while the customer types, the customer's browser sends the typed text, the country chosen in the form, the language and your key to autocomplete.search.hereapi.com and receives up to 5 addresses. Picking one sends nothing more, unless an add-on asks for the address's coordinates: then the browser sends the picked suggestion's ID, the language and your key to lookup.search.hereapi.com once.<\/li>\n<li>With an add-on that limits suggestions to an area around your store, each search includes that area (a rectangle) instead of the country.<\/li>\n<li>Settings screen: \"Check key\" sends one test search (\"Wien\") with your key from your browser, and one from your server that names another website (key-check.streetfill.invalid) as its origin, to see whether the key is restricted to your website.<\/li>\n<li>Terms: https:\/\/www.here.com\/en-gb\/terms \u00b7 Privacy: https:\/\/www.here.com\/en-gb\/privacy \u00b7 Pricing: https:\/\/www.here.com\/get-started\/pricing<\/li>\n<\/ul>\n\n<p>As with any request to another website, the service also receives the customer's IP address, browser details and the address of the page.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Streetfill stores only its settings (the chosen service, your keys and the look). Streetfill itself sets no cookies, adds no tracking and adds no data to orders. Addresses are saved in orders by WooCommerce, as before. See \"External services\" for what the customer's browser sends to the address service. Streetfill suggests a paragraph for your privacy policy (Settings \u2192 Privacy \u2192 Policy Guide).<\/p>\n\n<h3>Security<\/h3>\n\n<p>Please report security issues privately to office@wedoingood.com.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Streetfill. WooCommerce 10.3 or newer must be active.<\/li>\n<li>Go to WooCommerce \u2192 Streetfill, choose the address service, paste its key and save. The Help tab at the top of the screen shows how to get a key for each service.<\/li>\n<li>Press \"Check key\".<\/li>\n<li>Turn on WooCommerce \u2192 Settings \u2192 General \u2192 Address autocomplete. If several providers are listed, choose Streetfill.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20streetfill%20after%20installing%20it%3F\"><h3>Where do I find Streetfill after installing it?<\/h3><\/dt>\n<dd><p>In the admin menu, go to WooCommerce \u2192 Streetfill. You can also click \"Settings\" under the plugin's name on the Plugins screen.<\/p><\/dd>\n<dt id=\"where%20do%20customers%20see%20suggestions%3F\"><h3>Where do customers see suggestions?<\/h3><\/dt>\n<dd><p>In the billing and shipping address of the block checkout and the classic checkout, and when they edit an address in My account. WooCommerce draws the list; Streetfill brings the addresses from the service you chose.<\/p><\/dd>\n<dt id=\"which%20service%20should%20i%20choose%3F\"><h3>Which service should I choose?<\/h3><\/dt>\n<dd><p>Google Maps has the most complete addresses, but needs a Google Cloud account with billing. Geoapify needs no payment card and suits shops in countries with good OpenStreetMap coverage; house numbers are missing in some areas. HERE has very good data in Europe and North America. Try the suggestions for a few of your customers' streets; you can switch at any time.<\/p><\/dd>\n<dt id=\"what%20does%20it%20cost%3F\"><h3>What does it cost?<\/h3><\/dt>\n<dd><p>Streetfill is free. The service bills your own account for the searches beyond its free usage. Suggestions start from the third letter, and Streetfill waits until the customer stops typing for a moment before it asks. With Google you can also set a daily limit (quota) in the Google Cloud console.<\/p><\/dd>\n<dt id=\"is%20my%20api%20key%20safe%3F\"><h3>Is my API key safe?<\/h3><\/dt>\n<dd><p>Keys used in the browser are visible in the page by design. Restrict the key to your website (Google Cloud console: \"Application restrictions \u2192 Websites\"; Geoapify: the key's allowed websites; HERE: \"Trusted domains\" of your app at platform.here.com); then a copied key does not work on other sites. \"Check key\" warns you when the key is not restricted.<\/p><\/dd>\n<dt id=\"why%20is%20there%20a%20name%20under%20the%20list%3F\"><h3>Why is there a name under the list?<\/h3><\/dt>\n<dd><p>Each service requires its attribution when its addresses are shown without a map: \"Google Maps\", \"Powered by Geoapify \u00b7 \u00a9 OpenStreetMap contributors\" or \"\u00a9 HERE\". It stays visible even when the Streetfill look is off.<\/p><\/dd>\n<dt id=\"why%20is%20the%20postcode%20empty%20for%20some%20addresses%3F\"><h3>Why is the postcode empty for some addresses?<\/h3><\/dt>\n<dd><p>The services do not have a postcode for every address, for example in some rural areas. Streetfill then leaves the postcode for the customer to type, rather than guessing.<\/p><\/dd>\n<dt id=\"why%20is%20the%20state%20empty%20for%20some%20countries%3F\"><h3>Why is the state empty for some countries?<\/h3><\/dt>\n<dd><p>Streetfill fills the state only where WooCommerce has a list of states for the country and the service's address matches one of them. Many countries, for example Austria or France, have no state field.<\/p><\/dd>\n<dt id=\"what%20about%20the%20apartment%20or%20suite%20number%3F\"><h3>What about the apartment or suite number?<\/h3><\/dt>\n<dd><p>Streetfill fills in the street with the house number, the postcode, the city and the state. Customers type the apartment, suite or door number in Address line 2. If they type it in the street field and then pick a suggestion, the street field gets the street and house number from the suggestion, so the apartment goes in Address line 2.<\/p><\/dd>\n<dt id=\"how%20many%20suggestions%20are%20shown%3F\"><h3>How many suggestions are shown?<\/h3><\/dt>\n<dd><p>Up to 5. WooCommerce sets this limit.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20checkout%20plugins%3F\"><h3>Does it work with checkout plugins?<\/h3><\/dt>\n<dd><p>Streetfill works wherever WooCommerce's own address autocomplete works: the standard block and classic checkout, and checkouts that keep WooCommerce's address fields, for example with Germanized. Checkout plugins that rebuild the address fields after the page has loaded, for example Fluid Checkout, stop WooCommerce's address autocomplete, so no provider can show suggestions there.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Add - Plugin homepage in the plugin header (Plugins screen, \"View details\" and WordPress.org); support forum and plugin page links in the plugin row and the Help tab.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Add - Geoapify and HERE as address services, besides Google Maps.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Add - First release.<\/li>\n<\/ul>","raw_excerpt":"Address suggestions from Google Maps, Geoapify or HERE for WooCommerce's own address autocomplete: block and classic checkout, My account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/403736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=403736"}],"author":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wedoingood"}],"wp:attachment":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=403736"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=403736"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=403736"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=403736"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=403736"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=403736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}