Start Project

Get Quotes Check your Local Pros

Pros Near You

Find Plumbing contractors in your area by city or zip

Plumbing companies near me - Huntington Woods, MI

These companies might be able to provide a Plumbing in your area

Universal Plumbing and Sewer

(4 of 20 reviews)
35640 Gratiot Ave, Clinton Township  MI , 48035
Open 24 Hours
Universal Plumbing & Sewer was started by Les and Carol Nelson in 2004 out of their home in Warren, MI. Les and Carol moved to Clinton Township in 2011 and moved Universal Plumbing to a shop located on Starks Dr. across from the Clinton Township court building. Both the business and their family have grown abundantly in the past twelve years. Universal Plumbing now has over 15 employees and Les & Carol have four children. The business has grown by diligently striving to maintain the highest standard of customer satisfaction.
(586) 248-5233

Hometown Plumbing

(4.3 of 18 reviews)
, Rochester  MI , 48307
8:00AM-6:00PM
(586) 770-8256

WaterWork Plumbing

(2.8 of 20 reviews)
1049 Hilton Rd, Ferndale  MI , 48220
8:00AM-5:00PM
Initially started as a side project by master plumber David Greylen in 2006. There came a day when a decision had to be made. It was not possible for David to work for his former employer and keep up with the explosive growth that WaterWork was experiencing. It was quite a leap of faith but with a lot of hard work and determination, WaterWork has become a budding superstar of a company. We are now a team of 21 with plans for further expansion. Beyond striving to provide quality service and workmanship, we hope to be pillars of our community for years to come. We are big enough to handle any plumbing need but small enough that its still personal that you receive the same service that we would expect for ourselves.
(248) 542-8022

Nelson Brothers

(3.9 of 20 reviews)
1115 E 11 Mile Rd, Royal Oak  MI , 48067
9:00AM-5:00PM
Nelson Brothers was founded by two brothers originally from Denmark. The company's primary focus was installing sewer lines in commercial and residential applications. Nelson Bros. operated as a partnership until one of the brothers moved to Iowa to resume his passion for farming. The remaining brother, Anton Nelson, continued to operate Nelson Bros. eventually expanding its services to include sewer repair and maintenance and plumbing repair and installation. In 1958 Nelson Bros. built its headquarters in Royal Oak, MI where it remains today.
(248) 541-0819

Northwest Drain Station

(3.9 of 20 reviews)
311 Charlotte Ave, Royal Oak  MI , 48073
Open 24 Hours
Since 1993, Northwest Drain Station, Inc. has been servicing the Metro Detroit community. Our company prides itself on offering flat rate pricing and a NO DIG-UP guarantee. We service both residential areas and commercial businesses. Also all plumbing repairs come with a 1 year warranty
(248) 548-8500

Empire Plumbing

(4.5 of 20 reviews)
4567 Torrington Dr, Sterling Heights  MI , 48310
Open 24 Hours
Family owned and operated, fully licensed and insured offering (3) generations of experience and knowledge in both service and new construction plumbing!
(586) 977-5622

MarkDowns Plumbing & Drains

(5 of 12 reviews)
31063 Hoover Rd, Warren  MI , 48093
Open 24 Hours
(248) 546-6883

Plumbing Techs

(5 of 5 reviews)
12700 Capital St, Oak Park  MI , 48237
If you're looking for a plumbing company in Oakland County that has a good standing and a reputation for delivering quality work, you can rely on Plumbing Techs.
Trusted in the community for over 20 years. Our plumbers are skilled in all aspects of residential and commercial plumbing services.
From the moment we arrive at your door, our trained technicians seek to earn your trust with with friendly, proactive communication and quality plumbing solutions.
To request a free estimate, call our Oak Park office at (248) 548-7488
(248) 548-7488

J & M Plumbing & Drain Cleaning

(4.3 of 9 reviews)
1103 Cedarhill Dr, Royal Oak  MI , 48067
(248) 545-3486
 Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(): Only 0 of 227 bytes written, possibly out of free disk space ErrorException thrown with message "file_put_contents(): Only 0 of 227 bytes written, possibly out of free disk space" Stacktrace: #7 ErrorException in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/Store.php:128 #3 Illuminate\Session\Store:save in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /home/admin/web/localprobook.com/public_html/public/index.php:61
7
ErrorException
/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php122
6
file_put_contents
/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php122
5
Illuminate\Filesystem\Filesystem put
/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php83
4
Illuminate\Session\FileSessionHandler write
/vendor/laravel/framework/src/Illuminate/Session/Store.php128
3
Illuminate\Session\Store save
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php87
2
Illuminate\Session\Middleware\StartSession terminate
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php218
1
Illuminate\Foundation\Http\Kernel terminateMiddleware
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php189
0
Illuminate\Foundation\Http\Kernel terminate
/public/index.php61
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "file_put_contents(): Only 0 of 227 bytes written, possibly out of free disk space"
    
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "/home/admin/web/localprobook.com/public_html/storage/framework/sessions/WeJiAMMa4dv4tAzZmvyk4FITJ3mrS4k0kO8Bdnzv"
    
  2. "a:3:{s:6:"_token";s:40:"KnT1FhEo59vTCMlxsgpy6TcdISVfCP6VkzclG9Yh";s:9:"_previous";a:1:{s:3:"url";s:69:"https://www.localprobook.com/nearme/plumbing/huntington-woods.mi.html";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->exists($path = $this->path.'/'.$sessionId)) {
            if (filemtime($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->get($path, true);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/home/admin/web/localprobook.com/public_html/storage/framework/sessions/WeJiAMMa4dv4tAzZmvyk4FITJ3mrS4k0kO8Bdnzv"
    
  2. "a:3:{s:6:"_token";s:40:"KnT1FhEo59vTCMlxsgpy6TcdISVfCP6VkzclG9Yh";s:9:"_previous";a:1:{s:3:"url";s:69:"https://www.localprobook.com/nearme/plumbing/huntington-woods.mi.html";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "WeJiAMMa4dv4tAzZmvyk4FITJ3mrS4k0kO8Bdnzv"
    
  2. "a:3:{s:6:"_token";s:40:"KnT1FhEo59vTCMlxsgpy6TcdISVfCP6VkzclG9Yh";s:9:"_previous";a:1:{s:3:"url";s:69:"https://www.localprobook.com/nearme/plumbing/huntington-woods.mi.html";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            list($name) = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/nearme/plumbing/huntington-woods.mi.html"
      #requestUri: "/nearme/plumbing/huntington-woods.mi.html"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/home/admin/web/localprobook.com/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/nearme/plumbing/huntington-woods.mi.html"
      #requestUri: "/nearme/plumbing/huntington-woods.mi.html"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/home/admin/web/localprobook.com/public_html/public/index.php
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
//use Illuminate\Support\Facades\Log;
//Log::info('verifyInAppPurchaseDetails', ["productGroupId"=>$_SERVER]);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/nearme/plumbing/huntington-woods.mi.html"
      #requestUri: "/nearme/plumbing/huntington-woods.mi.html"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_REDIRECT_HTTPS
"on"
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
HTTPS
"on"
HTTP_HOST
"www.localprobook.com"
HTTP_X_FORWARDED_FOR
"3.144.83.249"
HTTP_CONNECTION
"close"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_REFERER
"https://localprobook.com/nearme/plumbing/huntington-woods.mi.html"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache/2.4.25 (Debian) mod_fcgid/2.3.9 OpenSSL/1.0.2u"
SERVER_NAME
"www.localprobook.com"
SERVER_ADDR
"80.77.95.98"
SERVER_PORT
"443"
REMOTE_ADDR
"3.144.83.249"
DOCUMENT_ROOT
"/home/admin/web/localprobook.com/public_html"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/home/admin/web/localprobook.com/public_html"
SERVER_ADMIN
"info@localprobook.com"
SCRIPT_FILENAME
"/home/admin/web/localprobook.com/public_html/public/index.php"
REMOTE_PORT
"57976"
REDIRECT_URL
"/public/nearme/plumbing/huntington-woods.mi.html"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/nearme/plumbing/huntington-woods.mi.html"
SCRIPT_NAME
"/public/index.php"
PHP_SELF
"/public/index.php"
REQUEST_TIME_FLOAT
1734585516.075
REQUEST_TIME
1734585516
APP_ENV
"local"
APP_KEY
"base64:voeh9jZTRfaPrNUfBLv0XCTURWzXMJ6FVDE72sq/AYo="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.localprobook.com"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mail"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_ENV
"local"
APP_KEY
"base64:voeh9jZTRfaPrNUfBLv0XCTURWzXMJ6FVDE72sq/AYo="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.localprobook.com"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mail"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler