diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/AzSdk.RP.props b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/AzSdk.RP.props
new file mode 100644
index 000000000000..39645fa6dc05
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/AzSdk.RP.props
@@ -0,0 +1,7 @@
+
+
+
+
+ $(PackageTags);$(CommonTags);$(AzureApiTag);
+
+
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/BingLocalSearch.Tests.csproj b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/BingLocalSearch.Tests.csproj
new file mode 100644
index 000000000000..490817ba34b0
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/BingLocalSearch.Tests.csproj
@@ -0,0 +1,26 @@
+
+
+
+ BingLocalSearch.Tests
+ 1.0.0-preview
+ BingLocalSearch.Tests
+ BingLocalSearch.Tests Class Library
+
+
+
+
+ 2.0
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/LocalSearchTests.cs b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/LocalSearchTests.cs
new file mode 100644
index 000000000000..a3dceed0f61f
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.Tests/LocalSearchTests.cs
@@ -0,0 +1,33 @@
+using Microsoft.Azure.Test.HttpRecorder;
+using Microsoft.Azure.CognitiveServices.Search.LocalSearch;
+using Microsoft.Azure.CognitiveServices.Search.LocalSearch.Models;
+using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
+using System.Linq;
+using Xunit;
+
+namespace SearchSDK.Tests
+{
+ public class LocalSearchTests
+ {
+ private static string SubscriptionKey = "fake";
+
+ // [Fact]
+ public void LocalSearch()
+ {
+ using (MockContext context = MockContext.Start(this.GetType().FullName))
+ {
+ HttpMockServer.Initialize(this.GetType().FullName, "LocalSearch");
+
+ ILocalSearchClient client = new LocalSearchClient(new ApiKeyServiceClientCredentials(SubscriptionKey), HttpMockServer.CreateInstance());
+
+ var resp = client.Local.Search(query: "restaurants");
+
+ Assert.NotNull(resp);
+ Assert.NotNull(resp.QueryContext);
+ Assert.NotNull(resp.Places);
+ Assert.NotNull(resp.Places.Value);
+ }
+ }
+ }
+}
+
diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.sln b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.sln
new file mode 100644
index 000000000000..50c81a40ad4a
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2019
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BingLocalSearch", "BingLocalSearch\BingLocalSearch.csproj", "{E9CFAA11-ADCB-4CE6-8478-ECC4753E7E8F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E9CFAA11-ADCB-4CE6-8478-ECC4753E7E8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E9CFAA11-ADCB-4CE6-8478-ECC4753E7E8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E9CFAA11-ADCB-4CE6-8478-ECC4753E7E8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E9CFAA11-ADCB-4CE6-8478-ECC4753E7E8F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {8D427FAB-986B-4B80-8831-4C6B4FCD87F0}
+ EndGlobalSection
+EndGlobal
diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/BingLocalSearch.csproj b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/BingLocalSearch.csproj
new file mode 100644
index 000000000000..4e71389c3698
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/BingLocalSearch.csproj
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ Microsoft.Azure.CognitiveServices.Search.LocalSearch
+ Provides ability to search for businesses
+ 0.9.0-preview
+ Microsoft.Azure.CognitiveServices.BingLocalSearch
+ CognitiveServices;Bing;BingLocalSearch;LocalSearch;Local Search
+
+
+
+
+
+
+ net452;netstandard1.4
+
+
+
+
+
+
diff --git a/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/Customizations/ApiKeyServiceClientCredentials.cs b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/Customizations/ApiKeyServiceClientCredentials.cs
new file mode 100644
index 000000000000..2728244f0dc3
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Search/BingLocalSearch/BingLocalSearch/Customizations/ApiKeyServiceClientCredentials.cs
@@ -0,0 +1,43 @@
+namespace Microsoft.Azure.CognitiveServices.Search.LocalSearch
+{
+ using System;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+ using Microsoft.Rest;
+
+ ///
+ /// Allows authentication to the API using a basic apiKey mechanism
+ ///
+ public class ApiKeyServiceClientCredentials : ServiceClientCredentials
+ {
+ private readonly string subscriptionKey;
+
+ ///
+ /// Creates a new instance of the ApiKeyServiceClientCredentails class
+ ///
+ /// The subscription key to authenticate and authorize as
+ public ApiKeyServiceClientCredentials(string subscriptionKey)
+ {
+ if (string.IsNullOrWhiteSpace(subscriptionKey))
+ throw new ArgumentNullException("subscriptionKey");
+
+ this.subscriptionKey = subscriptionKey;
+ }
+
+ ///
+ /// Add the Basic Authentication Header to each outgoing request
+ ///
+ /// The outgoing request
+ /// A token to cancel the operation
+ public override Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
+ {
+ if (request == null)
+ throw new ArgumentNullException("request");
+
+ request.Headers.Add("Ocp-Apim-Subscription-Key", this.subscriptionKey);
+
+ return Task.FromResult