I have geocoding enabled but getting the contacts geocoded seems hit and miss.

I can get them geocoded if I go into the record and resave the address field (without making any changes). The small red "map" icon then comes up and they seem to get geocoded in the saving process. I have only a 1000 records so I can go through them manually.

However when I try to do the batch geocoding I just get this - which I don't understand although it seems to be saying I have an invalid start id. Any ideas how I could start to trouble shoot this?

Parameters raw (from db settings): geocoding=[1 or 0] required parse=[1 or 0] required start=[contact ID] optional-begin with this contact ID end=[contact ID] optional-process contacts with IDs less than this throttle=[1 or 0] optional-1 adds five second sleep

Parameters parsed (and passed to API method): a:6:{s:7:"version";i:3;s:9:"geocoding";s:17:"[1 or 0] required";s:5:"parse";s:17:"[1 or 0] required";s:5:"start";s:48:"[contact ID] optional-begin with this contact ID";s:3:"end";s:62:"[contact ID] optional-process contacts with IDs less than this";s:8:"throttle";s:42:"[1 or 0] optional-1 adds five second sleep";}

Full message: Finished execution of Geocode and Parse Addresses with result: Failure, Error message: start is not a valid integer


2 Answers 2


It looks like you still need to configure the job parameters for geocoding, for instance for the 'geocoding' parameter it expects 0 or 1, but literally "[0 or 1]" is being passed.

So if I want to geocode starting at cid 1 and end at cid 1000, but skip address parsing, I would pass the following parameters:

geocoding=1 parse=0 start=1 end=1000 throttle=1

If you're running this as a scheduled job, you can go to the scheduled jobs page (administer>system settings>scheduled jobs) and 'edit' your geocoding job. The box called 'Command Parameters' is where you would edit this information.

Some more info here: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs

  • Well who knew that there were parameters to alter?! Thank you this is now merrily geocoding away and I have learnt somethign very useful!
    – Caroline B
    Dec 9, 2015 at 22:39

I would also try just switching to the Yahoo geocoder under Settings -> Mapping and Geocoding Providers. Yahoo has been working well and fast for me. Try limit=2000 in the Address geocoder Scheduled Job, though there does not seem to be a rate limit set by Yahoo, at least there was not in October. I geocoded over 100,000 addresses overnight in October.

Here's the result of the scheduled job I just ran manually -

Parameters raw (from db settings): limit=2000

Parameters parsed (and passed to API method): a:2:{s:7:"version";i:3;s:5:"limit";s:4:"2000";}

Full message: Finished execution of Address geocoder with result: Success (Addresses Evaluated: 40 Addresses Geocoded: 40 Street Addresses Parsed: 29 )

  • Thank you - it is working now I have set the parameters but if it falls over on google I will try yahoo.
    – Caroline B
    Dec 9, 2015 at 22:40
  • Cool, and I learned something too! Dec 10, 2015 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.