Sourcelane

Google Distance Matrix Scraper

Google Maps

Operated by Sourcelane✓ verified

Bulk-calculates travel time and distance for every origin–destination pair using the Google Distance Matrix API. Produces one result row per origin×destination pair with travel distance (meters and human-readable text), travel duration (seconds and human-readable text), traffic-aware driving ETAs and duration-in-traffic when a departure time is provided, transit fare values and currency for transit mode, and travel-mode identification for driving, walking, bicycling, and transit. Implements automatic batching (splitting large matrices into 10×10 requests to respect the 100-element-per-request limit) and merges batches back into a single matrix; includes per-pair status and error reporting so unreachable or invalid pairs yield a row with a status code and error message. Suitable for bulk origin–destination matrix generation, comparative mode analysis, and traffic- and fare-aware travel-time results.

Verified Sep 28, 3:55 AM

$0.012

per route pair

Up to 83 per call. Only pay for results returned; failed calls are refunded.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"google-distance-matrix-scraper","params":{"origins":["1600 Amphitheatre Pkwy, Mountain View, CA","1 Apple Park Way, Cupertino, CA"],"destinations":["SFO Airport, San Francisco, CA","Stanford University, CA"]},"maxResults":10}'

Request params

FieldTypeRequiredDescription
originsarrayrequiredOrigin addresses or 'lat,lng' pairs. The connector auto-chunks large lists into 10x10 batches to respect the API's 100-element-per-request limit.
destinationsarrayrequiredDestination addresses or 'lat,lng' pairs. Every origin is paired with every destination, producing one results row per pair.
modestringoptionalHow the route between each origin and destination is calculated. Use Transit for public-transport ETAs and fares.
unitsstringoptionalUnits used for the human-readable distance and duration text. Numeric meters and seconds are always returned alongside.
avoidarrayoptionalFeatures to avoid: tolls, highways, ferries, indoor. Driving/walking/bicycling modes only.
departureTimestringoptionalDeparture time for traffic-aware ETAs. Use 'now' or a Unix-epoch timestamp in seconds. Required for transit and for traffic-aware driving.
arrivalTimestringoptionalArrival time as a Unix-epoch timestamp in seconds. Transit mode only. Mutually exclusive with departure time.
trafficModelstringoptionalTraffic prediction model. Only applied when Departure time is set and mode is driving.
transitModearrayoptionalTransit modes to consider: bus, subway, train, tram, rail. Transit mode only.
languagestringoptionalBCP-47 language code for distance/duration text (e.g. en, es, fr).
regionstringoptionalTwo-letter region code to bias address resolution (e.g. us, gb, de).

Each result contains

FieldTypeDescription
originstringOrigin
destinationstringDestination
originResolvedstringOrigin Resolved
destinationResolvedstringDestination Resolved
modestringMode
statusstringStatus
distanceMetersintegerDistance Meters
distanceTextstringDistance Text
durationSecondsintegerDuration Seconds
durationTextstringDuration Text
durationInTrafficSecondsnullDuration In Traffic Seconds
durationInTrafficTextnullDuration In Traffic Text
fareValuenull—
fareCurrencynull—
fareTextnull—
errornull—

Use Google Distance Matrix Scraper from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “List 40 dentists in Austin TX with phone, website and rating above 4.5.”

Connect Claude

Web, desktop and mobile. Paste one URL.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"google-distance-matrix-scraper","params":{"origins":["1600 Amphitheatre Pkwy, Mountain View, CA","1 Apple Park Way, Cupertino, CA"],"destinations":["SFO Airport, San Francisco, CA","Stanford University, CA"]},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "google-distance-matrix-scraper",
        "params": {"origins":["1600 Amphitheatre Pkwy, Mountain View, CA","1 Apple Park Way, Cupertino, CA"],"destinations":["SFO Airport, San Francisco, CA","Stanford University, CA"]},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…