Add CSV2GEO Geocoding integration#20484
Conversation
CSV2GEO is a geocoding API with 461M+ addresses across 200+ countries. New components: - Forward Geocode: Convert address to lat/lng coordinates - Reverse Geocode: Convert coordinates to street address - Search Places: Search 72M+ POIs (businesses, landmarks, etc.) - Autocomplete Address: Type-ahead address suggestions Authentication: API key (free tier: 1,000 requests/day) Website: https://csv2geo.com API Docs: https://csv2geo.com/api/docs
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified. |
|
Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:
|
WalkthroughA new CSV2Geo integration component is added to Pipedream, consisting of a base app module providing API client methods for geocoding, reverse geocoding, place search, and address autocomplete, along with four action modules that expose these capabilities via individual actions. Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant Action as Action Module<br/>(e.g., Forward Geocode)
participant App as CSV2Geo App<br/>(csv2geo.app.mjs)
participant API as CSV2Geo API<br/>(csv2geo.com/api/v1)
User->>Action: Invoke with params<br/>(address, country, etc.)
Action->>App: Call this.csv2geo.geocode({ $, params })
App->>App: _makeRequest({ path, params })
App->>API: HTTP GET with api_key & params
API-->>App: Return results
App-->>Action: Response object
Action->>Action: Extract result[0]<br/>Compute $summary
Action->>Action: Export $summary string
Action-->>User: Return response & summary
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@components/csv2geo/actions/reverse-geocode/reverse-geocode.mjs`:
- Around line 35-37: The summary exports currently include exact PII (calls to
$.export("$summary") that interpolate this.latitude, this.longitude, and
result.formatted_address); change these to avoid leaking precise location by
replacing detailed values with a redacted or generalized description (e.g.,
"coordinates provided" or a coarse region like city/country if available) or use
truncated/masked coordinates, and update both branches (the success and "no
address found" messages) to only include the sanitized text.
In `@components/csv2geo/csv2geo.app.mjs`:
- Around line 55-72: Add method-level guard clauses in reverseGeocode,
searchPlaces, and autocomplete to validate numeric args against the documented
min/max bounds before calling this._makeRequest; for each method check the
relevant parameters (e.g., latitude/longitude ranges for reverseGeocode,
radius/limit for searchPlaces and autocomplete) and if any value is outside the
allowed range throw a clear RangeError (include the function name, parameter
name, actual value and allowed range) instead of forwarding the invalid args to
_makeRequest. Ensure the checks run early in each method, use consistent error
messaging, and keep the validation logic colocated in each function (or call a
small shared helper) so invalid requests are rejected client-side.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 8c9b4713-2e55-4c40-9052-2cc18379b55b
📒 Files selected for processing (6)
components/csv2geo/actions/autocomplete/autocomplete.mjscomponents/csv2geo/actions/forward-geocode/forward-geocode.mjscomponents/csv2geo/actions/reverse-geocode/reverse-geocode.mjscomponents/csv2geo/actions/search-places/search-places.mjscomponents/csv2geo/csv2geo.app.mjscomponents/csv2geo/package.json
|
Hi @acenji, Sergio here from the Pipedream integrations team. I'm working on adding csv2geo to our App Store, but I've run into a snag with the API Key setup. The PR mentions a "Free tier" (1,000 requests/day), but when I attempt to generate a key at csv2geo.com/api-keys, the system indicates that a PRO plan is required. Could you help us bypass this or provide a test API Key so we can finalize the integration and the OpenAPI spec implementation? If you have a key to share, please send it securely via a 1Password/Bitwarden link to integrations[at]pipedream[dot]com. Thanks!
|
|
@acenji - Following up on @sergio-eliot-rodriguez's previous comment. We're unable to test or release this PR unless you can provide a test API Key or test account as we can't test using a free account. |

Summary
Adds CSV2GEO Geocoding as a new integration with 4 action components.
CSV2GEO is a geocoding API with 461M+ addresses across 200+ countries, 72M+ POIs, and rooftop-level accuracy.
Components
Authentication
api_keyquery parameter)Links
Summary by CodeRabbit